在Chrome开发人员窗口中请求“待定”是什么意思?


104

Google Chrome Developer窗口的“ 网络 ”标签中状态列下的“ 待定 ”是什么意思?

当我的页面脚本发出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


我对javascript文件有类似的问题。jQuery库无法正确加载并导致问题。
杰克M.11年

别忘了扩展程序可能会导致此问题-我遇到了一些问题,包括一些第三方联属网络营销跟踪像素,该请求被永久卡为“待处理”。原来我忘了关闭广告屏蔽!
安迪·史密斯

13
请注意,这个问题(第一句话)仍然没有得到回答。下面(截至今天)的所有答案都只是“这就是我的原因。” 该消息非常通用,可能是由许多问题引起的。如果我确切知道他们的意思,我会回答,但总的来说,这似乎是出于某种原因,阻止了页面和服务器之间的通信。“页面”不是浏览器,浏览器扩展会导致此问题,如其他地方所述。
AlexMA 2013年

1
在当前的Google Chrome Canary版本(v43)中看到了这一点,但从Cloudfront看到带有URL的稳定的Chrome版本(v40)时看不到
Simon_Weaver 2015年

Answers:


61

就我而言,我发现(经过多次拉扯)“待定”状态是由AdBlock扩展程序引起的。我无法加载的图片的URL中带有“ ad”一词,因此AdBlock禁止加载该图片。

禁用AdBlock可解决此问题。

重命名文件以使其在URL中不包含“ ad”也可以解决该问题,这显然是一种更好的解决方案。除非是广告,否则您应该这样保留。:)


1
我在安装了TamperMonkey扩展程序的Chrome中看到了同样的事情。
sstn

1
@Robin Daugherty,adblock扩展是在服务器端还是客户端?在我看来,在客户端没有任何作用。待审核状态在1.8分钟到2.2分钟之间结束...这可能是什么问题?网络差吗?
Juan Ruiz de Castilla

1
它可能是阻止文件加载的任何其他扩展名。尝试使用一个隐身窗口,其中所有扩展程序都被禁用。(某些扩展名可能在隐身模式下启用,因此您应该检查一下。)
Robin Daugherty 2015年

我想弄清楚为什么我的开发环境(Angular&Visual Studio)这么慢的原因。禁用uBlock可以达到目的。谢谢!
XVargas

2
矿发生在IE浏览器不支持AdBlocker ... :(这是一个间歇性问题对我来说。
Json的

5

当使用HTTPS Anywhere插件时,我也会得到此信息。该插件有一个站点列表,这些站点也具有https而不是http。因此,我认为在发出实际请求之前,它已经被取消了。

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

然后有要求 完整标头的 https://stackexchange.com

因此,我假设它用于未发送的请求。


5

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

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

这是我找到的解决方案:

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

您只需在每个URL的末尾添加一个虚拟查询字符串。这将迫使Chrome重新下载文件。

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

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

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


2

我在OSX Mavericks上遇到了同样的问题,事实证明,Sophos防病毒软件阻止了某些请求,一旦我将其卸载,问题就消失了。

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


2

网络待定状态准时,表示您的请求正在处理中。响应后,时间将更新为已用总时间。

此图显示网络呼叫处于处理状态(待处理) 此图显示网络呼叫处于处理状态(待处理)

此图显示了通过网络呼叫进行处理所花费的时间。 此图显示了通过网络呼叫进行处理所花费的时间


1
我目前正在查看错误报告的经过时间。它实际上将处于待处理状态4s,但会报告150ms。这就是服务器处理这些请求报告的时间(即150ms)。就像是人为地阻止了请求的解决...
Nikolay Tsenkov

1

我在application / json ajax调用中遇到了类似的问题。在ff / IE中,它们很好。在chrome中,“开发人员网络”窗口中的状态始终为(待处理),因为返回了不同的状态代码。

就我而言,我将Json响应更改为发送HttpStatusCode 200,然后Chrome正常运行,并且Status Text更改为200 OK。

例如使用ASP.NET Web Api

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

您能否举一个小例子说明如何以及在哪里更改HttpStatusCode
2014年

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>

现在它的工作正常。


0

在调试本地Web应用程序时遇到了此问题。原来是AVG防病毒和防火墙限制。我必须允许通过防火墙的例外情况来摆脱“挂起”状态。


0

对我来说,解决方法是将以下内容添加到所请求的php文件的顶部。

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

0

就我而言,Chrome有一个更新,使得它不会在重新启动浏览器之前加载。干杯


-3

当我从页面请求某些图像时遇到了相同的问题。我使用JavaScript设置img对象的src属性,如果网络连接不畅,将在chrome开发人员窗口的网络面板中显示。我认为这是由于网络不畅造成的。


4
我有同样的问题,但是图像总是直接出现在IE或FF上,所以它不是网络。而且,它是断断续续的。不知道你是否有什么新的见解
利奥尔

这里同样的问题。在FF上,这些图像加载良好。
svassr 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.