我正在尝试使用 jQuery 的 statusCode 函数全局检测特定的 statusCode 并对其使用react。但是,当特定调用失败时,似乎会同时遇到原始错误和状态代码。为什么会发生这种情况?它可以先点击 statusCode 吗?
这是我的ajax设置:
$.ajaxSetup({
statusCode: {
412 : function(data) {
alert('do something!');
}
}
});
这是一个示例实例:
$.ajax({
type: "GET",
url: 'a_url.json',
dataType: 'json',
data : {
'id': dnaRefTOID
},
success: function(data) {
alert('success');
},
error : function(xhr, status, error) {
alert(xhr.statusText);
}
});
我看到的是,调用在达到 statusCode 之前就达到了“错误”。我希望它始终能够命中 statusCode 和 statusCode。这个示例显然分布在许多 ajax 调用中,因此我不想在每个错误中使用 if 语句,否则它就失去了使用 statusCode 的意义。
有人有什么想法吗?
最佳答案
据我所知,如果不改变 jQuery 本身就无法实现这一目标。 你可以这样做:
$(document).ajaxError(function(event, jqxhr, settings, exception) {
if (jqxhr.status == 412) {
//handle status code 412 here
}
});
关于javascript - 使用 statusCode 处理 jQuery AJAX 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16902942/