gpt4 book ai didi

jquery - 使用 .ajaxError 并在 $.ajax() 中设置错误函数

转载 作者:行者123 更新时间:2023-12-03 22:18:37 26 4
gpt4 key购买 nike

我目前正在重写所有 ajax 调用以使用 jquery 方法(更简洁的代码!)并声明了默认的 ajaxError 函数,如下所示:

$(document).ajaxError(function(event, request, settings){
alert("there was some error.. boo");
});

我的 ajax 调用有自己定义的错误函数,我不希望触发上面的默认函数:

$.ajax({ url: url,
success: function(data){
// do something
},
error: function (r, textStatus, errorThrown) {
// let's do something here regarding the error
alert("Oh no! Something went terribly wrong in here!");
// just trying this to see if it will stop any other events (ie default ajaxError)
event.stopImmediatePropagation();
}
});

但是,现在我有一些 ajax 调用,我想在 ajax 调用中声明一个错误函数。我希望通过在 ajax 调用中声明一个错误函数,它将替换我定义的默认错误调用。但情况似乎并非如此,因为我继续首先收到我的 ajax 函数错误调用,然后我还看到上面的代码执行。

我尝试从我的ajax错误函数中调用event.stopImmediatePropagation(),希望它能阻止进一步的事件触发(即:默认错误事件),但是除了告诉我在firefox中“事件”是未定义。

有什么想法吗?我希望我不必为每个 ajax 调用都定义一个错误函数。如果事情归结为这一点,我会的。只是想我会问。

谢谢,马特

最佳答案

有一个global option$.ajax()为此决定是否执行那些 global AJAX event handlers ,只需将其设置为 false,如下所示:

$.ajax({ 
url: url,
global: false,
success: function(data){
// do something
},
error: function (r, textStatus, errorThrown) {
alert("Oh no! Something went terribly wrong in here!");
}
});

关于jquery - 使用 .ajaxError 并在 $.ajax() 中设置错误函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121273/

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