[英]Chrome Refuses to make Ajax Request to same url after request is aborted
我很确定这是chrome中的错误,因为它在IE 10中不会发生,并且是最近才启动的,但是基本上是在对URL进行AJAX调用并且用户在请求期间刷新浏览器时,之后,相同的网址将失败。 即使我再次刷新浏览器,请求也会失败。 我可以解决的唯一方法是添加时间戳,以使每个请求都是唯一的,但这似乎很简单。 我在这里想念什么吗?
如果您有一个中止的请求,那么它将不再起作用:
$.getJSON("realTimeActivity/GetRealTimeData",
function (result) {
// Do stuff
}
).fail(function (jqXHR, textStatus, errorThrown) {
// No error message comes back
})
但这每次都有效:
$.getJSON("realTimeActivity/GetRealTimeData?u=" + (new Date).getTime(),
function (result) {
// Do stuff
}
).fail(function (jqXHR, textStatus, errorThrown) {
// No error message comes back
})
我可以离开它,但我想了解为什么会这样,不需要此技巧。
这是因为缓存,并且由于URL与以前相同,因此为什么忽略它。 通过附加时间戳,可以使URL不同,并且每个请求都会通过。
另一个选择是将缓存设置为false(使用.ajax()),这很有趣,只需为您添加时间戳即可。
$.ajax({
/* ... */
cache: false
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.