7

当我向特定 URL 发出 XmlHttpRequest(通过 jQuery 的 $.ajax)时,我的 Chrome 每次都会挂起,并显示“待处理”请求的状态。

之后 Chrome 必须关闭,即。强制从任务管理器中强制执行,并且它表现出一般的混乱迹象,例如 Cookies 和 Scripts 选项卡在它们之前充满了正常外观的数据时是空的。

这很奇怪,因为(a)我的同事,运行看似相同的一切,没有这样的问题;(b) 我已经使用 Chrome 运行这个代码(我们公司的 JavaScript 应用程序)好几个月了,而且这种情况刚刚开始发生,没有明显的原因。

我检查了 Apache 日志,它们似乎正在正常处理请求并完成,但 Chrome 显然从未看到回复。

其他一些澄清:在失败之前,相同的 Chrome 和 Apache 正常返回一卡车的 JS 和图像文件,例如,事情似乎很好,直到它们不是。请求不是特别大(进出几百字节)或任何明显的复杂方式。

如果有人能给我一些在哪里看的提示,我将不胜感激!

4

1 回答 1

11

我正在经历类似的行为,但症状略有不同。我的 ajax 请求工作正常,每秒最多 6 个请求,然后它们都开始失败(与工作时相同的 url,相同的有效负载等),但在我的情况下,它们甚至没有访问服务器,只是停留在“待处理“在督察中。

我没有答案,但是为了帮助调试,您是否尝试过 chromes net-internals?

将浏览器指向:

chrome://net-internals/#sockets

和/或

chrome://net-internals/#events

我在#sockets 中看到我的请求进入“活动”状态,但再也没有回来,在#events 中我可以看到请求在 HOST_RESOLVER_IMPL_REQUEST 阶段之后停止。

我认为这可能是由于没有正确结束请求而导致的资源问题,但这只是纯粹的猜测。

于 2012-06-01T17:41:10.503 回答