对于 jQuery$.ajax调用:
我想要一个全局错误处理程序,如下所示:
$(document).ajaxError(function (e, jqxhr, settings, exception) {
window.location = '/Error/ServerError';
});
Run Code Online (Sandbox Code Playgroud)
但是......我只希望error在$.ajax未定义调用方法时运行它。我看看它们是否没有明确定义,它们是匿名方法,但我不知道如何检查方法是匿名的还是命名的。
所以,对于这样的事情,我不希望全局处理程序被调用:
$.ajax({
url: "url",
type: "POST",
success: function(data) {
//do something
},
error: function(jqXHR, textStatus, errorThrown) {
ShowError("Error", errorThrown);
}
});
Run Code Online (Sandbox Code Playgroud)
但是对于这个调用,我想要调用全局处理程序,并重定向页面:
$.ajax({
url: "url",
type: "POST",
success: function(data) {
//do something
}
});
Run Code Online (Sandbox Code Playgroud)
您可以检查settings全局处理程序中的参数是否error定义了字段:
$(document).ajaxError(function (e, jqxhr, settings, exception) {
if ( settings.error )
return;
window.location = '/Error/ServerError';
});
Run Code Online (Sandbox Code Playgroud)
jsFiddle 的工作示例
| 归档时间: |
|
| 查看次数: |
1399 次 |
| 最近记录: |