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

注意显示临时标题

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

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


当前回答

这种情况(仅针对跨源请求)也可能发生,因为有一种名为站点隔离的新功能

本页详细介绍了问题和解决方案。也就是去chrome://flags/#site-isolation-trial-opt-out,把这个设置改为“Opt-out”,然后重新加载chrome。

这是一个众所周知的问题。然而,该页面说它在chrome 68中是固定的,但我正在运行chrome 68,我仍然有这个问题。

其他回答

我在WordPress中使用LiteSpeed缓存插件。在那里,我启用了浏览器缓存。禁用这个功能对我有用。然后,后来我启用它以提高性能。

这是另一个解决方案。

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

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

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

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

如果您正在开发Asp。Net Mvc应用程序,你试图返回一个JsonResult在你的控制器,确保你添加了JsonRequestBehavior。AllowGet到Json方法。这为我解决了问题。

public JsonResult GetTaskSubCategories(int id)
{
    var subcategs = FindSubCategories(id);

    return Json(subcategs, JsonRequestBehavior.AllowGet);  //<-- Notice it has two parameters
}

我遇到过这个,当我从https切换到http时,它就消失了。我们在开发中使用的SSL证书没有经过第三方的验证。它们只是本地生成的开发证书。

同样的调用在Chrome Canary和Firefox中也能正常运行。这些浏览器似乎不像Chrome那样严格要求SSL证书。调用将失败在Chrome与“警告:临时头…”消息。

我认为/希望当我们在阶段和prod中使用合法的SSL证书时,我们将不再在Chrome中看到这种行为。