我有一个全球性的AJAX错误处理程序,在这里:JQuery的阿贾克斯 - 如何阻止全球错误处理动态
function SetAjaxErrorHandler() {
$(document).ajaxError(function (event: JQueryEventObject, jqXHR: JQueryXHR, ajaxSettings: JQueryAjaxSettings, thrownError: string) {
console.log("in error");
// Call error API to log
var url1 = appSettings["errorLogApiUrl"];
$.ajax({
type: "POST",
url: url1 + "s",
data: jqXHR.responseText,
contentType: "application/json; charset=utf-8",
error: (jqXhr) => {
// I dont want the global error handler to be triggered here!
}
});
});
}
正如你所看到的,对事件有错误调用之一在页面上的其他ajax调用,我正在尝试进行另一个API调用以将其记录在服务器上。但是,如果记录错误的调用失败,我会陷入递归循环。 所以我的问题是,在ajaxError()方法的ajax调用中,是否有办法阻止全局错误处理程序被触发?
tl; dr是否有一种方法可以为某些ajax调用使用全局ajax错误处理程序,但为其他人调用?