我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:

注意显示临时标题

我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。

与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。


当前回答

我在AJAX调用时遇到了这个问题,它永远不会完成。我遵循了wvega的建议和关于调试chrome://net-internals的提示,最终确定页面中的另一个点击事件处理程序,监听父节点,导致浏览器导航到相同的URL(所以它不容易被注意到)。

解决方案是在表单提交按钮的单击处理程序中添加event.stopPropagation(),以防止单击弹出DOM并取消正在进行的AJAX请求(通过表单上的提交处理程序发起)。

其他回答

资源可能被一个扩展阻塞(在我的情况下是AdBlock)。

该消息之所以存在,是因为从未发出检索该资源的请求,因此显示的标头并不是真正的标头。正如在您引用的问题中所解释的那样,服务器响应时更新真实的头,但如果请求被阻塞,则没有响应。


我发现的方式是通过Chrome中的net-internals工具扩展阻止了我的资源:

chrome的最新版本

在地址栏中输入chrome://net-export/,然后按enter键。 开始录音。并保存录音文件到本地。 打开显示问题的页面。 回到net-internals 您可以查看“记录日志”文件https://netlog-viewer.appspot.com/#import 点击events(###),然后使用文本框找到与你的资源相关的事件(使用部分URL)。 最后,单击事件,看看所显示的信息是否告诉了你一些东西。

chrome的旧版本

在地址栏中输入chrome://net-internals并按enter键。 打开显示问题的页面。 返回net-internals,单击events(###),并使用文本字段查找与您的资源相关的事件(使用URL的一部分)。 最后,单击事件,看看所显示的信息是否告诉了你一些东西。

在我的情况下,我在post请求中发送的主体参数,以及我根据主体参数编写的逻辑都是错误的,因此无法发送响应。所以我得到了这个错误。

 example: post request body (a: alsldfjfj) which I was sending

但我写的代码是验证“b”而不是“a”

这可能是CORS的问题。 尝试为你的api启用CORS。

为WebApi

  var cors = new EnableCorsAttribute("*", "*", "*");
            config.EnableCors(cors);

当我的服务器连接数超过Chrome的每台服务器最大连接数限制6个时,我就看到了这种情况。

当我发送无效的HTTP授权报头时,发生了这个问题。我忘记用base64编码了。