javascript - 加载资源失败:net::ERR_EMPTY_RESPONSE http://test.com

标签 javascript html ajax google-chrome-extension

我正在开发一个 chrome 扩展,它将 XMLHttpRequest 发送到 URL,获取 JSON 格式的响应,解析响应并显示记录列表。它工作正常。问题是当用户执行任何操作并返回列表部分时,系统遵循相同的过程发送 XMLHttpRequest 请求但每次我收到此响应:

Failed to load resource: net::ERR_EMPTY_RESPONSE http://test.com

第一次加载扩展时一切正常,之后它总是显示上述错误。

它是两个 HTML 页面扩展。一个用于登录,另一个用于列表。我使用 ajax 根据结果切换 div。

现在是奇怪的部分。到目前为止,我的用户中只有 3 个遇到这个问题。其中两个有 mac 和一个 windows 8.1。对于所有其他用户,它工作得很好。

最佳答案

我遇到过同样的问题。我开发了一个 AJAX 密集型应用程序,它可以在本地主机上完美运行。使用同一台机器测试实时站点(由 GoDaddy 托管)按下按钮以激活 AJAX 功能是间歇性接受的。

如果我反复按下按钮,并观察开发人员工具中发生的情况,我会看到 错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接但未发送任何数据。 由“(失败)”表示:

enter image description here

在上图中的第八次尝试中,你可以看到它终于成功了。 验证这是否是您遇到的情况的最佳方法是等待 1 分钟,然后重复该操作。似乎连接速度是导致此问题的原因,尽管连接速度最后一个错误比第一次成功要快得多。当我检查其他网站以验证互联网是否仍处于“开启”状态时,这可能会对网络浏览器或主机中的设置产生更多影响。你可以看到这似乎是问题的解决方案,根据这个 answer .但话说回来,this answer状态重置网络设置并重新启动机器。

其他解决方案指向清除浏览器的缓存或禁用加载项,但作为非技术用户的解决方案,重新加载或刷新是困难且不可靠的。最后,它可能与 hosting server settings 有关。 .

我怀疑可能是服务器感知到DDOS攻击(大量小的AJAX请求),所以暂时屏蔽/忽略请求。更改主机(或自托管)可能是最好的解决方案。

关于javascript - 加载资源失败:net::ERR_EMPTY_RESPONSE http://test.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22374328/

相关文章:

javascript - 如何重置输入字段?查询

javascript - 如何淡入和淡出音频?

javascript - 在 [array] 内设置未声明的 {object} 的原型(prototype)属性

html - 当我尝试格式化它们以适应我的规范时,我的 div 中的两个元素得到 "lop sided"

javascript - 通过 Json 存储和加载 JavaScript 变量

javascript - toBeFalsy() 的目的是什么?

javascript - jQuery 数据表 : Pass returned JSON to a variable

javascript - 如何使用 HTML/JS 实现 'human' 日期范围选择下拉列表? (今天、昨天、上周……)

javascript - 通过AJAX/PHP设置变量提交URL,无需刷新页面,加载变量

javascript - 使 tablesorter 表缩小以适合页面