javascript - 我无法通过AJAX调用捕获特定浏览器记录的错误。捕获这些可能吗?

标签 javascript jquery ajax http error-handling

我正在尝试以多种方式中断AJAX调用,以预见许多特定的错误。与浏览器记录的内容(我想捕获的内容)相比,在jQuery ajax中使用错误回调无法提供足够具体的信息。我将从Chrome在错误回调中收到针对这两个错误的相同的通用信息(状态为0,statusText为“错误”):

  • 所请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问原始“某些URL”。响应的HTTP状态码为503。
  • 获取http://google.com/ net::ERR_INTERNET_DISCONNECTED

  • 现在,我的代码类似于how can i handle multiple ajax errors in jquery中的答案。我希望它能够解决更具体的错误,但是我怀疑无法捕获浏览器记录的具体错误。

    是否有可能捕获这些错误?

    注意:将 call 包装在try-catch中也不起作用。使用 Vanilla XHR也不提供特定的错误信息。

    最佳答案

    该答案涉及处理.status对象,该对象仅包含一个数字。如果要处理错误消息,请使用.responseText,然后对其进行JSON.parse()或使用indexOf()来检查要使用的异常。您还可以使用thrownError字符串:

    $.ajax({
      ...
      error: function(xhr, ajaxOptions, thrownError) {
          console.log("thrownError: " + thrownError);
      }   
    });
    

    关于javascript - 我无法通过AJAX调用捕获特定浏览器记录的错误。捕获这些可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415081/

    相关文章:

    javascript - 通过下拉菜单中的选择禁用复选框

    javascript - jQuery UI 自动完成 : How can I pass additional data with my Ajax call?

    javascript - 无法弄清楚在 Javascript 代码中在哪里绘制图像

    javascript - 我如何确定 Google map 的最大缩放级别整数?

    javascript - 使用 Bootstrap 轮播脚本无法读取未定义的属性 'offsetWidth'

    jquery - 使用 jQuery 获取文本框的值

    javascript - 在调整大小时重新渲染backbone.js View ?

    javascript - 使用 Ajax 向经典 ASP 发送信息

    javascript - 如何在所有 HTML 页面中一次性弹出?

    php - 使用ajax从php多次返回