我有一个将数据提交到表格的模态对话框表单。我想给用户一些关于提交成功/失败的反馈,但成功处理程序没有触发。
我的代码是
$.ajax({
type: "POST",
url: "includes/phpscripts.php?action=submitWiki",
data: {"name": location, "location": locationName, "text": locationText, "user": userId},
beforeSend: function(x){
if (x && x.overrideMimeType){
x.overrideMimeType("application/json;charset=UTF-8");
}
},
async: false
}).done(function(data){
if (data == "failure"){
$("#submissionFailure").dialog("open");
} else {
$("#submissionSuccess").dialog("open");
var count= 3;
var id= setInterval(function(){
count--;
if (count == 0)
$("#submissionSuccess").dialog("close");
}, 1000);
}
});
另一个版本将 if/else 块done
定义为
success: function(data){
if (data == "failure"){
$("#submissionFailure").dialog("open");
} else {
$("#submissionSuccess").dialog("open");
var count= 3;
var id= setInterval(function(){
count--;
if (count == 0)
$("#submissionSuccess").dialog("close");
}, 1000);
}
}
在 Firebug 中,我可以清楚地看到请求的返回是success
由于 echo 语句,但是成功函数被跳过了。我直接done
在行上设置了断点,一切都被跳过了。
此外,这些帖子正在被记录到数据库中。