gpt4 book ai didi

javascript - 在页面卸载时停止 $.ajax 调用

转载 作者:行者123 更新时间:2023-11-29 18:25:53 25 4
gpt4 key购买 nike

我有一个在超时时运行的程序以在后台加载数据:

(function getSubPage() {
setTimeout(function() {
if (cnt++ < pagelist.length) {
loadSubPage(pagelist[cnt]);
getSubPage();
}
}, 500);
})();

loadSubPage() 中,我正在调用 $.ajax():

function loadSubPage(page) {
if (typeof(initSubPages[page]) === "undefined") {
$.ajax({
type: "POST",
url: '/Main/GetPageData',
data: { page: page },
success: function (returndata) {
// ...
},
error: function() {
alert("Error retrieving page data.");
}
});
initSubPages[page] = true;
}
}

我遇到的问题是,如果打开任何 ajax 请求,当用户导航离开时,error 处理程序被命中。我试图通过 .stop()window.onbeforeunload 上发送请求来解决这个问题,但我不确定调用什么对象 .stop () 上?

最佳答案

jQuery 公开了 XMLHttpRequest 对象的中止方法,因此您可以调用它并取消请求。您需要将打开的请求存储到一个变量中并调用 abort()

activeRequest = $.ajax({...

并阻止它

activeRequest.abort()

关于javascript - 在页面卸载时停止 $.ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258784/

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