任务:单击按钮时 - 禁用按钮,执行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');}
答案 0 :(得分:0)
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';
}