检查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

回到顶部