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

注意显示临时标题

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

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


当前回答

只是说说我的意见。我正在使用CORS请求和一个完全RESTful的Web服务编写一个Web应用程序。我发现chrome会抛出这个错误时,我有一个无手异常或PHP错误抛出。以防其他人遇到同样的问题。我发现当这种情况发生时,我可以启动Chrome应用程序“邮差-休息客户端”,并运行完全相同的请求,但在Chrome应用程序中,我实际上会得到被抛出的PHP错误,而不是这种非描述性错误。

其他回答

我看到的另一种可能的情况是——在几毫秒后,完全相同的请求再次发送(很可能是由于客户端存在错误)。 在这种情况下,您还将看到第一个请求的状态是“取消”,并且延迟只有几毫秒。

只是说说我的意见。我正在使用CORS请求和一个完全RESTful的Web服务编写一个Web应用程序。我发现chrome会抛出这个错误时,我有一个无手异常或PHP错误抛出。以防其他人遇到同样的问题。我发现当这种情况发生时,我可以启动Chrome应用程序“邮差-休息客户端”,并运行完全相同的请求,但在Chrome应用程序中,我实际上会得到被抛出的PHP错误,而不是这种非描述性错误。

这是另一个解决方案。

如果您在使用$ajax()调用时遇到此问题,请在您的serverhost解决问题之前添加http://。

var requestURL = "http://" + serverHost;
$.ajax({
    dataType: "json",
    url: requestURL,
    data: data,
    success: success    
});

HTTP/2推送资源将产生临时头显示在检查器中,与@wvega在上面的回答中发布的理论相同。

例:由于服务器将资源推送到客户端(在客户端请求它们之前),浏览器已经缓存了这些资源,因此客户端从不发出/需要请求;所以因为…

...当服务器响应时更新真实的头,但是如果请求被阻塞,则没有响应。

在我的案例中,原因是AdBlock扩展。

向服务器的请求通过了,我得到了响应,但由于“临时头部..”显示在Dev工具中,我无法看到请求cookie。禁用AdBlock后,警告消失了,开发工具开始再次显示cookie。

为了使更改生效,还需要关闭Dev工具并刷新页面