【问题标题】:jQuery execute php script on button click and analyse results?jQuery 在按钮单击时执行 php 脚本并分析结果?
【发布时间】:2016-10-26 10:37:08
【问题描述】:

任务:单击按钮时 - 它禁用按钮,执行 PHP 脚本。根据 PHP 脚本返回的值 - 我想执行两个操作之一!

1)如果php返回“OK”,我想简单地重新加载当前页面;

2)如果php返回“NOTOK:NotOkText”,我想用NotOkText填充#updateresult div,重新启用按钮。

<button id="updatebutton" onclick="update_btn_click('params');">Execute PHP</button>

这是我目前拥有的 jQuery。显然,它离做我想要的还差得很远。它只是使用 php 的输出加载 DIV,甚至在加载完成时都不会等待(PHP 将尝试从另一台服务器获取数据,这将需要一些时间) - 它会立即重新启用按钮。

function update_btn_click(param) {

$('#updatebutton').prop("disabled",true);
$('#updatebutton').text("Processing...");


$("#updateresult").load("/update.php");

//how to wait for result and analyse what has been returned?

//act upon result   

$('#updatebutton').removeAttr('disabled');}

【问题讨论】:

  • 您需要发出 ajax 请求并在成功函数中处理响应。更多信息:api.jquery.com/jquery.ajax
  • 示例会有所帮助,谢谢
  • 检查链接:/足够的示例(在 Google 和 SO 上也是如此)

标签: php jquery button


【解决方案1】:
function update_btn_click(param) {
    $('#updatebutton').prop("disabled",true);
    $.ajax({
        url:"update.php",
        type:"post",
        success: function(response){
            if(response=='Ok') {
                location.reload();
            } else {
                $("#updateresult").html('error');
                $('#updatebutton').prop("disabled",false);
            }
        },
        error: function(response){
            console.log('could not fetch data');
        },
        complete: function(response){
            // hide loading
        }
    });
}

在 update.php 中

if(action) {
    echo 'Ok';
} else {
    echo 'error';
}

【讨论】:

  • 完美,这正是我想要的,将对此进行测试!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-15
  • 2019-06-27
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多