gpt4 book ai didi

jQuery ajax 通用错误处理并根据具体情况进行处理

转载 作者:行者123 更新时间:2023-12-03 21:56:35 24 4
gpt4 key购买 nike

我有一个通用的ajax错误处理程序,如下所示:

$('html').ajaxError(function(e, xhr, settings, exception) {

var message = '';

if (xhr.status == 0) {
message = 'You are offline!\n Please check your network.';
}
else if (xhr.status == 403) {
window.location.href = $('#logon').attr('href');
}
else if (xhr.status == 404) {
message = 'Requested URL not found.';
}
else if (xhr.status == 500) {

message = xhr.responseText;

$('#cboxLoadedContent div.news_article_content').append('<p>' + message + '</p>');

try {//Error handling for POST calls
message = JSON.parse(xhr.responseText);
}

catch (ex) {//Error handling for GET calls
message = xhr.responseText;
}

}
else if (errStatus == 'parsererror') {
message = 'Error.\nParsing JSON Request failed.';

}
else if (errStatus == 'timeout') {
message = 'Request timed out.\nPlease try later';
}
else {
message = ('Unknown Error.\n' + xhr.responseText);
}

if (message != '' && xhr.status != 500) {
message = message;
}

if (xhr.status != 403) {

$('#icis_dashboard').append('<p id="ajax_error_msg" class="offScreen">' + message + '</p>');

errorBox({
inline: true,
width: 0,
href: '#ajax_error_msg',
onLoadCall: function() { $('#cboxLoadedContent').jScrollPaneRemove(); },
onCleanupCall: function() { $('#ajax_error_msg').remove(); }
});
}

});

因此,当错误不是 403 时,会显示一个对话框,其中包含与错误相关的文本。

这很好,但我想做的是使用通用处理程序作为备份,然后在原始 ajax 调用中单独处理每个错误。

因此,当备份处理程序在 404 上提醒“bar”时,我想改为提醒“foo”:

            error: function(xhr) {
if (xhr.status == 404) {
//window.location.href = $('#logon').attr('href');
alert("foo");
}
}

我有办法做到这一点吗?我不知道如何防止备份启动,因为它们目前似乎都会触发。

最佳答案

您可以在 ajax 函数中将 ajax 属性“global”设置为 false,该函数执行自己的错误处理。这应该可以防止全局错误处理。检查:http://api.jquery.com/jQuery.ajax#toptions .

关于jQuery ajax 通用错误处理并根据具体情况进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887295/

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