使用statusCode处理jQuery AJAX失败
Handling jQuery AJAX failures with statusCode
我正在尝试全局检测和响应某个statusCode,使用jQuery的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之前击中'error'。我想让它总是击中statusCode和statusCode。这个例子显然分布在许多ajax调用中,所以我不想在每个错误中使用if语句,否则它就失去了使用statusCode的意义。
有人有什么想法吗?
据我所知,如果不改变jQuery本身,就无法实现这一点。你可以这样做:
$(document).ajaxError(function(event, jqxhr, settings, exception) {
if (jqxhr.status == 412) {
//handle status code 412 here
}
});
相关文章:
- 带有对象解析的响应javascript ajax失败
- 使用 插入 AJAX 失败
- 本地文件上的Windows Phone 8 jQuery.ajax失败
- ASP.NET Ajax - 失败 - 获取错误文本
- 将数据数组传递给 $.ajax 失败
- aJax REST API调用-Curl在aJax失败时工作
- 或者,如果ajax失败,则通过php加载页面
- jQuery Ajax失败时成功回调
- 使用statusCode处理jQuery AJAX失败
- Ajax失败5%的时间,响应是“错误”
- jQuery ajax失败*有时* (ERR_EMPTY_RESPONSE)在Chrome和Safari
- Jquery Ajax失败…随机获得成功
- 如何使ajax失败可见
- jQuery AJAX失败,在成功响应200时显示404
- jQuery ajax失败总是触发(即使成功)
- 当使用setRequestHeader时,在IIS (ASP.net)上使用CORS的跨站点AJAX失败
- Rails不引人注目的ajax:失败事件未触发
- AJAX失败,尽管它'It’他没有失败
- 在jQuery上正常重新发送HTML表单ajax失败
- Ajax失败,但当我直接访问URL时,调用成功