检查jQuery中AJAX请求是否成功的最佳方法
我一直在通过执行以下操作来确保我的AJAX请求成功:
$.post("page.php", {data: stuff}, function(data, status) { if(status == "success") {
//Code here
}
else {
//Error handling stuff
}
});
检查状态变量是执行此操作的最佳方法,还是有一种更好的方法来确保请求实际通过?我正在考虑“成功”请求是一个成功命中我要发布到的页面的请求,而不会超时(例如,服务器已关闭,并且在出现故障之前立即进行了AJAX请求)或返回任何404或500错误。
回答:
通过这样调用$.post
,您将仅自动传递一个success handler
函数。
如果请求中出现问题,则甚至不会执行此方法。
要拥有更多控制权,请$.ajax()
直接使用或传递失败处理程序。看起来像
$.post("page.php", {data: stuff}, function(data, status) { // we're fine here
}).fail(function(err, status) {
// something went wrong, check err and status
});
使用相同的东西.ajax()
:
$.ajax({ type: 'POST',
url: 'page.php',
data: stuff,
success: function( data ) {
},
error: function(xhr, status, error) {
// check status && error
},
dataType: 'text'
});
您甚至可以将更多的ajax事件处理程序传递给$.ajax
,如beforeSend
修改/读取XHR标头,或complete
使处理程序在请求完成时触发两种方式(错误或不错误)。
以上是 检查jQuery中AJAX请求是否成功的最佳方法 的全部内容, 来源链接: utcz.com/qa/409580.html