我读过类似问题的类似问题,但我读到的每条建议对我来说似乎都是低效的。这是 ajax 调用(我使用的是 Jquery 1.9.1):
$( document ).ajaxError(function() {
alert( "AJAX ERROR" );
});
$.post( "/lists/complete", { itemID:id }, function(answer) {
alert("SUCCESS");
}, "text" ).fail( function() {
alert("ERROR");
}).always( function() {
alert("DONE");
});
在服务器端,请求按预期接收。如果我在客户端监视服务器响应(使用 Firebug),我可以看到服务器发送了 200 响应以及正文中的正确数据。但是,永远不会触发任何警报!
我该怎么做才能理解这个问题?我必须补充一点,我对 JS 和 Jquery 的经验很少......
最佳答案
我也不喜欢 jquery post。我更喜欢使用 $.ajax。但是,建议链接完成、失败和始终。
$.ajax({
url: ' yoururl ',
type: 'POST',
// dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {param1: 'value1'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
http://api.jquery.com/jQuery.ajax/
Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are deprecated as of jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.
关于javascript - JQuery ajax 查询非常安静地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18976974/