javascript - 使用 statusCode 处理 jQuery AJAX 失败

标签 javascript ajax jquery

我正在尝试使用 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/

相关文章:

javascript - 什么是 “jQuery.event.special” ?

javascript - 在css3中创建从下到上的灰度效果

javascript - 将 redux 客户端从 REST 转换为 GraphQL Apollo?

javascript - 定期调用 AJAX 函数是否会减慢应用程序速度?

php - 来自 php 的 jQuery Ajax 响应变量

javascript - 如何发送响应到ajax但保留procces php脚本

jQuery ajax 不调用 Servlet

javascript - 将 Lit 元素移动到新文档时未保留样式

javascript - JS检查内容是否垂直溢出

javascript - Angular - 过滤具有多个值的属性的对象