【发布时间】:2014-04-01 22:59:10
【问题描述】:
我有一个全局 ajax 错误处理程序,在这里:
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 错误处理程序,但为其他调用禁止它?
【问题讨论】:
标签: javascript jquery ajax