当我向特定 URL 发出 XmlHttpRequest(通过 jQuery 的 $.ajax)时,我的 Chrome 每次都始终挂起,并显示“待处理”请求的状态。
之后,Chrome 必须关闭,即。强行从任务管理器中删除,并且它显示出困惑的一般迹象,例如 Cookies 和 Scripts 选项卡在之前充满正常外观的数据时为空。
这很奇怪,因为 (a) 我的同事,运行着看似相同的一切,没有这样的问题; (b) 我几个月来一直在使用 Chrome 来运行这段代码(我们公司的 JavaScript 应用程序),而这只是开始发生,没有明显的原因。
我查看了 Apache 日志,它们似乎正在正常处理请求并完成处理,但 Chrome 显然从未看到回复。
一些其他澄清:在失败之前,相同的 Chrome 和 Apache 正常返回一卡车的 JS 和图像文件,例如,事情似乎很好,直到他们不是。请求不是特别大(进出几百个字节)或以任何明显的方式复杂。
如果有人能给我一些关于在哪里看的提示,我将不胜感激!
最佳答案
我正在经历类似的行为,但症状略有不同。我的 ajax 请求工作正常,每秒请求多达 6 个请求,然后它们都开始失败(与工作时的 URL 相同,有效负载相同等),但在我的情况下,它们甚至没有访问服务器,只是停留在“待处理”状态“在督察中。
我没有答案,但为了帮助调试,您是否尝试过 chromes net-internals?
将浏览器指向:
chrome://net-internals/#sockets
和/或
chrome://net-internals/#events
我看到我在 #sockets 中的请求进入“事件”状态,但永远不会回来,在 #events 中我可以看到请求在 HOST_RESOLVER_IMPL_REQUEST 阶段之后停止。
我认为这可能是由于未正确结束请求而导致的资源问题,但这只是纯粹的猜测。
关于ajax - Chrome XmlHttpRequest 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763754/