我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:
注意显示临时标题
我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。
与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。
我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:
注意显示临时标题
我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。
与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。
当前回答
当我第二次尝试为require js加载main.js时,我运行了这个问题,因为错误导致了我的更改。 我刚刚在开发工具设置中打开了“禁用缓存(当开发工具打开时)”. 这很有魅力。
其他回答
我遇到了这个问题,我设法确定了一个具体的原因,这在答案或问题中都没有提到。
我在SSL上运行一个完整的js堆栈,angular前端和节点后端,API在8081端口上运行的不同域上,所以我在做CORS请求和withCredentials,因为我正在从API中删除会话cookie
所以我的具体场景是:POST请求,带有凭据到端口8081导致“警告:临时头显示”消息在检查器中,当然也阻止了请求。
我的解决方案是设置apache代理将请求从通常的SSL端口443传递到节点的SSL端口8081(节点必须在更高的端口上,因为它不能在prod中以root身份运行)。所以我猜Chrome不喜欢SSL请求非常规的SSL端口,但也许他们的错误消息可以更具体。
在我的案例中,原因是AdBlock扩展。
向服务器的请求通过了,我得到了响应,但由于“临时头部..”显示在Dev工具中,我无法看到请求cookie。禁用AdBlock后,警告消失了,开发工具开始再次显示cookie。
为了使更改生效,还需要关闭Dev工具并刷新页面
我在AJAX调用时遇到了这个问题,它永远不会完成。我遵循了wvega的建议和关于调试chrome://net-internals的提示,最终确定页面中的另一个点击事件处理程序,监听父节点,导致浏览器导航到相同的URL(所以它不容易被注意到)。
解决方案是在表单提交按钮的单击处理程序中添加event.stopPropagation(),以防止单击弹出DOM并取消正在进行的AJAX请求(通过表单上的提交处理程序发起)。
这可能是CORS的问题。 尝试为你的api启用CORS。
为WebApi
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
在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>