gpt4 book ai didi

javascript - jQuery AJAX失败功能-页面导航错误

转载 作者:行者123 更新时间:2023-12-03 08:54:27 25 4
gpt4 key购买 nike

我的网页是通过AJAX调用将数据加载到其中的,除了您尝试在AJAX加载数据时离开页面导航之外,其他所有功能都可以正常工作。如果我离开该页面,它将触发故障功能,但是其中没有数据,因此我只看到一个警告框,显示“错误”。

我的代码:

.fail(function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
$('#ajaxloadergif').fadeOut(1000);
if (textStatus !== 'abort') {
alert(textStatus+'\n'+errorThrown);
}
});

该console.log会为对象吐出这些值:

readyState: 0
responseText: ""
status: 0
statusText: "error"



现在增加了更多的复杂性,我看到了一些其他的帖子,它们建议检查readyState或status是否大于0。因此,我决定进行一个测试,加载网页,停止Web服务器运行,再次运行AJAX。不幸的是,它返回了完全相同的详细信息。

因此,我基本上需要一些建议来获得有用的错误消息,当没有错误时该消息不会触发。

最佳答案

感谢Vanojx1:

function CancelAJAX() { // Function to cancel all outstanding AJAX requests
$(AJAXRequest).each(function() { // Loop through all the requests
if (!this.Complete) { // If the request is not flagged as completed
this.Request.abort(); // Abort the request
}
});
AJAXRequest = []; // Reset the AJAXRequest variable
}
window.onbeforeunload = function(event) {
CancelAJAX();
}

设置有:
var RequestIndex = AJAXRequest.length
AJAXRequest[RequestIndex] = {};
AJAXRequest[RequestIndex].Complete = false;
AJAXRequest[RequestIndex].Request = $.post(...

这是在 .done回调中完成的:
AJAXRequest[RequestIndex].Complete = true;

关于javascript - jQuery AJAX失败功能-页面导航错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31517292/

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