Javascript ChromeNetworkWebDeveloperToolTab表示,DojoAjax请求大约需要44年才能完成
WebDeveloper工具中的ChromeNetwork选项卡显示,我的一系列AJAX请求需要16027.8天才能完成。这是。。。不是他们花了多长时间 我可以在多台机器上以及在开发和生产环境中复制这一点。这适用于所有正在进行的dojoajax请求Javascript ChromeNetworkWebDeveloperToolTab表示,DojoAjax请求大约需要44年才能完成,javascript,ajax,google-chrome,websphere,google-chrome-devtools,Javascript,Ajax,Google Chrome,Websphere,Google Chrome Devtools,WebDeveloper工具中的ChromeNetwork选项卡显示,我的一系列AJAX请求需要16027.8天才能完成。这是。。。不是他们花了多长时间 我可以在多台机器上以及在开发和生产环境中复制这一点。这适用于所有正在进行的dojoajax请求onload。其他webapp或第三方请求(如signin AJAX或facebook)不会出现这种情况 发生了什么事?是不是我们的服务器搞砸了?这是chrome开发工具中的一个bug吗(几乎可以肯定是的,对吧?),如果是的话,有什么可以做的吗?正如你
onload
。其他webapp或第三方请求(如signin AJAX或facebook)不会出现这种情况
发生了什么事?是不是我们的服务器搞砸了?这是chrome开发工具中的一个bug吗(几乎可以肯定是的,对吧?),如果是的话,有什么可以做的吗?正如你所能想象的那样,这使得视觉瀑布变得毫无用处
编辑:根据新信息,这似乎是IBM Websphere Commerce站点的常见问题。服务器或代码可能导致这种情况的原因是什么?请看以下示例:
编辑2:这个问题在最新版本的Chrome中得到了修复。非常奇怪。也可以在OSX Mavericks上的Chrome 31.0.1650.57上重新创建。通过宜家链接进行测试,发现铬报告16028.7 天,资源的延迟时间为41毫秒/us/en/iows/tealium Charles proxy显示以下标题:
HTTP/1.1 304 Not Modified
Content-Type: application/json
Last-Modified: Mon, 18 Nov 2013 18:34:51 GMT
Cache-Control: public, max-age=7200
Date: Sat, 23 Nov 2013 00:32:26 GMT
Connection: keep-alive
Vary: Accept-Encoding
代理应用程序(Charles)没有报告这种奇怪的时间——它显示40毫秒
LavienRose.com链接导致Chrome报告时间16028.7 天也是如此。。。这似乎是一个共同点。
查尔斯表示:
HTTP/1.1 200 OK
Date: Sat, 23 Nov 2013 00:46:37 GMT
Server: IBM_HTTP_Server
Last-Modified: Tue, 19 Jun 2012 13:05:34 GMT
ETag: "5c487f-1a15-4c2d2f01a0380"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 1738
Content-Type: application/x-javascript
我的结论是,这不是服务器响应或标题问题。我认为这是Chromium或WebKit开发工具的问题
下面是dev tools JS对象的头部,该对象表示由“网络”选项卡呈现的http请求:
我想知道set endTime()
中的数学:
目前还没有答案,但也许有人更了解WebKit/Chromium开发工具会看到这一点……这个问题与web框架或服务器无关。该问题影响Chrome浏览器版本31.0.1650.57 现在问题已经解决,并将与下一个稳定的频道更新一起交付 如果您急需修复,可以更新到dev channel版本
有关更多详细信息,请参阅。对于如此长的请求,延迟相当长。这是Windows 7上的Chrome 31.0.1650.57 m版,如果有帮助的话。您是否尝试在浏览器中禁用所有附加组件的情况下运行它?我只是在匿名模式下再次运行它(禁用扩展),结果是一样的。我刚刚意识到16041天前是1970年1月1日。时代失败了。
set endTime(x)
{
if (this.timing && this.timing.requestTime) {
// Check against accurate responseReceivedTime.
this._endTime = Math.max(x, this.responseReceivedTime);
} else {
// Prefer endTime since it might be from the network stack.
this._endTime = x;
if (this._responseReceivedTime > x)
this._responseReceivedTime = x;
}
},