Chrome Developer Window中的“待定”含义是什么意思?

时间:2011-04-07 18:40:44

标签: http google-chrome

Google Chrome开发者窗口的“网络”标签中的状态栏下“待定”是什么意思?

当我的页面脚本发出GET请求时,会发生这种情况,该请求的响应包含用于下载CSV文件的内容标题:

Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv

这在FF和IE7中工作正常,按预期下载CSV文件并打开文件选择器以保存文件,但Chrome不执行任何操作。我确认服务器会响应请求,因此Chrome似乎无法处理响应。

奇怪的是,如果我在Chromes地址栏中键入URL并点击。

,所有工作都按预期工作

仅供参考:Win-XP上的Chrome 10.0.648.204

12 个答案:

答案 0 :(得分:58)

在我的情况下,我发现(经过多次拉扯)“挂起”状态是由AdBlock扩展引起的。我无法加载的图片在网址中包含“ad”字样,因此AdBlock无法加载。

停用AdBlock可解决此问题。

重命名文件,使其在URL中不包含“ad”也可以修复它,显然是一个更好的解决方案。除非是广告,否则你应该这样做。 :)

答案 1 :(得分:5)

我在使用HTTPS Anywhere插件时也会得到这个。 此插件有一个网站列表,这些网站也有https而不是http。所以我假设在提出实际请求之前它已经被某种方式取消了。

例如,当我转到http://stackexchange.com时,在Developer I中,我首先看到一个状态为已终止的请求(已终止)。此请求有一些标头,但只有GET,User-Agent和Accept。也没有回应。

然后有https://stackexchange.com请求完整标题等

所以我假设它用于未发送的请求。

答案 2 :(得分:5)

我对待处理的mp3文件请求有些问题。 我有一个mp3文件列表和一个播放它们的播放器。如果我选择了已下载的文件,Chrome会阻止该请求并在开发者工具的网络标签中显示“待处理请求”。

所有版本的Chrome似乎都受到了影响。

这是我找到的解决方案:

player[0].setAttribute('src','video.webm?dummy=' + Date.now());

您只需在每个网址的末尾添加一个虚拟查询字符串。这会强制Chrome再次下载该文件。

爆米花播放器的另一个例子(使用jquery):

url = $(this).find('.url_song').attr('url');
pop = Popcorn.smart( "#player_",  url + '?i=' + Date.now());

这对我有用。实际上,资源不存储在缓存系统中。对于.csv文件,这也应该以相同的方式工作。

答案 3 :(得分:2)

我在OSX Mavericks上遇到了同样的问题,结果发现Sophos反病毒阻止了某些请求,一旦我卸载它,问题就消失了。

如果您认为它可能是由扩展引起的,那么尝试测试的一种简单方法就是使用'--disable-extensions标志打开chrome以查看它是否解决了问题。如果这还没有解决,请考虑在浏览器之外查看是否有任何其他应用程序可能导致问题,特别是可能影响请求的安全应用程序。

答案 4 :(得分:2)

网络暂挂状态,表示您的请求处于正在进行状态。一旦响应,时间将随着总耗用时间而更新。

此图显示网络通话处于处理状态(待定) This picture shows the network call is in processing state(Pending)

此图显示了通过网络电话处理所需的时间。 This picture shows the time taken in processing by network call

答案 5 :(得分:1)

我在application / json ajax调用时遇到了类似的问题。在ff / IE中他们很好。在Developer Network窗口中的chrome中,Status始终(挂起),因为返回了不同的状态代码。

在我的情况下,我更改了我的Json响应,发送了一个200的HttpStatusCode,然后Chrome就可以了,状态文本更改为200 OK。

例如,使用ASP.NET Web Api

 return new HttpResponseMessage(HttpStatusCode.OK ) {
            Content = request.Content
        };

答案 6 :(得分:1)

Chrome的问题:我的html页面中包含以下代码:

<body>
  ...
  <script src="http://myserver/lib/load.js"></script>
  ...
</body>

但是,当查看网络面板时,load.js始终处于状态pending

我找到了使用load.js的异步加载的解决方法:

<body>
  ...
  <script>
    setTimeout(function(){
      var head, script;
      head = document.getElementsByTagName("head")[0];
      script = document.createElement("script");
      script.src = "http://myserver/lib/load.js";
      head.appendChild(script);
    }, 1);
  </script>
  ...
</body>

现在工作正常。

答案 7 :(得分:1)

最近遇到了类似的问题。 我的应用程序的角度为 11,我们有一个带有一些验证器的表单,这些验证器具有正则表达式来验证数据。一个数据元素有一个特殊字符,正则表达式没有处理它,它使整个浏览器挂断了。事实上,即使所有网络调用都以 200 Ok 成功,但 chrome 没有显示后端返回的任何响应,并且当事实上所有网络调用都成功时,chrome 还显示处于挂起状态的请求,没有控制台日志错误或任何其他内容。处理正则表达式解决了这个问题。 发现问题后,我用谷歌搜索了更多相关信息。这里有更多关于它的解释。 https://javascript.info/regexp-catastrophic-backtracking

答案 8 :(得分:0)

我在调试本地Web应用程序时遇到了这个问题。该问题最终成为AVG防病毒和防火墙限制。我不得不允许通过防火墙的异常摆脱“待定”状态。

答案 9 :(得分:0)

对我来说,修复是将以下内容添加到正在请求的php文件的顶部。

header("Cache-Control: no-cache,no-store");

答案 10 :(得分:0)

在我的情况下,Chrome有一个更新,在重新启动浏览器之前无法加载。干杯

答案 11 :(得分:-2)

当我从页面请求某些图像时遇到了同样的问题。我使用JavaScript来设置img对象的src属性,如果网络很差,则会在chrome developer窗口的网络面板中显示。我认为这是由于网络不畅造成的。