我正在重写我所有的ajax调用以使用jquery方法(更清晰的代码!)并声明了一个默认的ajaxError函数,如下所示:
$(document).ajaxError(function(event, request, settings){
alert("there was some error.. boo");
});
Run Code Online (Sandbox Code Playgroud)
我的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();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,现在我有几个ajax调用,我想在ajax调用中声明一个错误函数.我希望通过在ajax调用中声明一个错误函数,它将替换我定义的默认错误调用.但这似乎并非如此,因为我继续首先得到我的ajax函数错误调用,然后我也看到上面的代码执行.
我尝试从我的ajax错误函数中调用event.stopImmediatePropagation()希望它会阻止进一步的事件触发(即:默认错误事件)但除了告诉我在firefox中"事件"未定义之外没有做任何事情.
有任何想法吗?我希望我不必经历并为每个ajax调用定义一个错误函数.如果归结为那,我会的.刚想我会问.
谢谢,马特
有一个global选项,在$.ajax()此决定是否要执行这些全局AJAX事件处理程序,只需将其设置为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!");
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2638 次 |
| 最近记录: |