什么会导致页面被取消?我有一个Chrome开发者工具的截图。
这种情况经常发生,但不是每次都发生。似乎一旦缓存了一些其他资源,页面刷新就会加载LeftPane.aspx。真正奇怪的是,这只发生在谷歌Chrome浏览器中,而不是ie8。知道为什么Chrome会取消一个请求吗?
什么会导致页面被取消?我有一个Chrome开发者工具的截图。
这种情况经常发生,但不是每次都发生。似乎一旦缓存了一些其他资源,页面刷新就会加载LeftPane.aspx。真正奇怪的是,这只发生在谷歌Chrome浏览器中,而不是ie8。知道为什么Chrome会取消一个请求吗?
当前回答
Chrome版本33.0.1750.154米一致取消图像加载,如果我使用移动仿真指向我的本地主机;特别是用户代理欺骗(相对于屏幕设置)。
当我关闭用户代理欺骗时;图像请求没有被取消,我看到了图像。
我仍然不明白为什么;在前一种情况下,当请求被取消时,请求头(注意:显示的是临时头)只有
接受 cache - control 编译指示 推荐人 用户代理
在后一种情况下,所有这些因素加上其他因素,比如:
饼干 连接 宿主 接受编码 接收语言
耸耸肩
其他回答
对于任何来自LoopbackJS并试图使用图表示例中提供的自定义流方法的人。我使用PersistedModel得到这个错误,切换到基本模型修复了我的事件源状态取消的问题。
同样,这是专门针对环回api的。既然这是谷歌上的顶级答案,我想我应该把这个放在混合答案中。
我们遇到(取消)状态的另一个地方是在特定的TLS证书错误配置中。如果一个网站(例如https://www.example.com)配置错误,导致证书不包括www。但有效的https://example.com, chrome将取消此请求,并自动重定向到后者的网站。Firefox则不是这样。
当前有效的示例:https://www.pthree.org/
我们有这个问题有标签<按钮>的形式,这是应该从js发送ajax请求。但是这个请求被取消了,由于浏览器,它会自动发送表单内的任何点击按钮。
因此,如果你真的想在页面上使用button而不是常规的div或span,并且你想发送form throw js -你应该设置一个带有preventDefault函数的监听器。
e.g.
$('button').on('click', function(e){
e.preventDefault();
//do ajax
$.ajax({
...
});
})
status= cancelled也可能发生在JavaScript事件的ajax请求上:
<script>
$("#call_ajax").on("click", function(event){
$.ajax({
...
});
});
</script>
<button id="call_ajax">call</button>
事件成功发送请求,但随后被取消(但由服务器处理)。原因是,元素在单击事件时提交表单,无论您是否对同一单击事件发出任何ajax请求。
为了防止请求被取消,JavaScript event.preventDefault();必须被称为:
<script>
$("#call_ajax").on("click", function(event){
event.preventDefault();
$.ajax({
...
});
});
</script>
另一件要注意的事情可能是AdBlock扩展,或一般的扩展。
但“很多”人有AdBlock....
为了排除扩展,以隐身方式打开一个新标签,确保你想测试的扩展“允许隐身”是关闭的。