我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:
注意显示临时标题
我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。
与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。
我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:
注意显示临时标题
我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。
与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。
当前回答
在AJAX URL属性中发送参数时,我遇到了这个问题 http://10.165.10.160:82/services?param1=xxxx¶m2=xxxx
如果你想执行一个get请求(例如发送参数化url),不要在url属性中添加它们,而是在数据对象中添加:
<script>
$.ajax({
url: "http://10.160.10.160:82/services/STD_ERROR.php",
data: {
StatusText: StatusText,
Status: Status,
UserCode: UserCode,
FUNC_CODE: FuncCode,
ErrorDescription: ErrorDescription
},
type: "GET",
crossDomain: true,
cache: false
}).done(data => {
console.log(data)
}).fail(function(xhr, status, error) {
console.log(xhr.ErrorDescription)
});
</script>
其他回答
尝试用ctrl + shift +F5重新加载页面,然后再次检查请求头
没有显示完整的头文件,因为有可能请求没有发送到服务器,而是直接从浏览器的缓存(例如使用service worker)提供服务
我遇到过这个,当我从https切换到http时,它就消失了。我们在开发中使用的SSL证书没有经过第三方的验证。它们只是本地生成的开发证书。
同样的调用在Chrome Canary和Firefox中也能正常运行。这些浏览器似乎不像Chrome那样严格要求SSL证书。调用将失败在Chrome与“警告:临时头…”消息。
我认为/希望当我们在阶段和prod中使用合法的SSL证书时,我们将不再在Chrome中看到这种行为。
HTTP/2推送资源将产生临时头显示在检查器中,与@wvega在上面的回答中发布的理论相同。
例:由于服务器将资源推送到客户端(在客户端请求它们之前),浏览器已经缓存了这些资源,因此客户端从不发出/需要请求;所以因为…
...当服务器响应时更新真实的头,但是如果请求被阻塞,则没有响应。
如果响应无效并因此被浏览器删除,也会出现此警告消息。
在我的例子中,请求被正确地发送到服务器,服务器端代码随后产生一个错误,我的自定义错误处理在HTTP状态消息字段中返回错误消息。但是客户端没有收到此错误,因为错误消息中的无效字符(此处描述为http://aspnetwebstack.codeplex.com/workitem/1386)导致响应报头损坏。
这可能是因为您发送了Ajax请求,同时使用位置将页面跳转到另一个页面。Href之类的。所以之前的请求失败了。