gpt4 book ai didi

javascript - 请求中止后,Chrome 拒绝向同一网址发出 Ajax 请求

转载 作者:行者123 更新时间:2023-11-30 17:52:20 25 4
gpt4 key购买 nike

我很确定这是 chrome 中的一个错误,因为它不会发生在 IE 10 中,它最近才开始出现,但基本上当对 URL 进行 AJAX 调用并且用户在请求期间刷新浏览器时,所有之后对相同 url 的请求将失败。即使我再次刷新浏览器,请求也会失败。我能绕过它的唯一方法是添加一个时间戳,使每个请求都是唯一的,但这似乎是一种黑客攻击。我在这里错过了什么吗?

如果你有一个中止的请求,这将永远不会再工作:

        $.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() docs

$.ajax({
/* ... */
cache: false
});

关于javascript - 请求中止后,Chrome 拒绝向同一网址发出 Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com