我正在尝试使用jQuery的statusCode函数全局检测并响应某个statusCode。但是,当特定的调用失败时,它似乎同时遇到原始错误,然后是statusCode。为什么会这样?可以先点击statusCode吗?
这是我的ajaxSetup:
$.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。
有没有人有任何想法?
答案 0 :(得分:0)
据我所知,如果不改变jQuery本身就无法实现这一目标。 你可以这样做:
$(document).ajaxError(function(event, jqxhr, settings, exception) {
if (jqxhr.status == 412) {
//handle status code 412 here
}
});