这不会在网站上一直发生,但偶尔会发生一次。
浏览器开始随机为页面中的XMLHTTPRequest请求返回状态0。
这适用于通过jquery ajax函数和angularJS中的$ http资源发出的请求
发生这种情况时,网络标签中没有任何内容。请求甚至不会进入网络层。
但是刷新之后问题就会消失,只是随机出现。
我没有在Firefox上做过很多测试,但我从未在那里经历过
我只使用相关路径。甚至不会出现跨域问题。
我曾尝试在stackoverflow上查看多个问题,但没有任何帮助我解决它
我使用nginx作为运行金字塔Web应用程序的gunicorn服务器的反向代理。
令我感兴趣的是,它有时会起作用,有时却不起作用。有什么想法吗?
如果我这样做
$.ajax({url: '/json/1/sources',
success: function(d){console.log(d)},
error: function(){
console.log("error");
console.log(JSON.stringify(arguments))
}})
我得到了
error
{"0":{"readyState":0,"responseText":"","status":0,"statusText":"error"},"1":"error","2":""}
作为输出
更多信息
当我打开Javascript控制台并点击disable cache while dev tools is open
时,问题就会停止
答案 0 :(得分:1)
所以这就是我必须做的就是摆脱这个随机错误。这可能听起来不科学,但如果有人遇到这个错误,这可能会有所帮助。
如果我收到该错误,我只需从标头中删除X-Requested-With
密钥并重试该请求。
if($http.defaults.headers.common['X-Requested-With']){
delete $http.defaults.headers.common['X-Requested-With'];
}
事情开始奏效。就是这样。
我从未使用过此标题。所以我不介意删除它。
有时候Javascript会发生一些怪异的事情,即使你可能认为你已经完成了所有工作。