【问题标题】:jquery ajax response "readyState":0,"status":0,"statusText":"error"jquery ajax 响应 "readyState":0,"status":0,"statusText":"error"
【发布时间】:2018-12-24 22:03:51
【问题描述】:

我收到"readyState":0,"status":0,"statusText":"error" ajax 响应,用于发出加载 json 文件的 http 请求。

网页已加载到 iframe 中,并且在发出 ajax 请求时没有代码可以更改网页中的 URL。

这是 Ajax 配置

url: 'some file in the same domain',
method: 'GET',
dataType: 'JSON'

我无法重新创建这种情况,但这已在 trackJS 中记录。

【问题讨论】:

  • 这里有问题吗?
  • 我们没有足够的上下文来查找错误,您介意添加一些代码吗?
  • 想象一下它执行 ajax 但没有 url 的魔力
  • 也许是 CORS?只需打开您的 Chrome 开发工具并检查“网络”选项卡中发生的情况。
  • 因为我在我的应用程序中实现了 trackjs 日志记录。我可以在那里看到错误日志。但是,我无法重现此错误。

标签: javascript jquery ajax trackjs


【解决方案1】:

当有一个挂起的 XHR 请求被取消时,可能会出现此网络错误签名。请求可以在页面关闭时由浏览器取消,如果已被阻止,则可以由浏览器扩展程序取消。例如,如果存在 adblocker 扩展程序,某些网络请求可能会以这种方式显示。

我建议在 TrackJS 中检查您的数据,看看问题是否仅限于一小部分用户。您可以放心地忽略这一点。

作为重新创建它的一种方式,您可以下载一个广告拦截器扩展程序,例如“ublock origin”,它可以接受自定义规则。为您的应用程序使用的 URL 添加自定义阻止规则,您应该会看到错误。

您还可以使用此机制来阻止 TrackJS 错误报告中请求的相同 URL,并查看对最终用户的影响。确保您有适当的后备措施,以防请求失败并且您不会让用户处于不稳定状态。

【讨论】:

    猜你喜欢
    • 2011-10-24
    • 2014-12-17
    • 2013-10-24
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2020-11-26
    • 2016-05-20
    • 2014-09-21
    相关资源
    最近更新 更多