Mam globalnej obsługi błędów AJAX, tutaj:JQuery Ajax - Jak powstrzymać globalne obsługi błędów dynamicznie
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!
}
});
});
}
Jak widać, na razie nie jest błąd nazywając jedną z inne wywołania ajax na stronie, próbuję wykonać inne wywołanie API, aby zalogować to na serwerze. Jeśli jednak wywołanie logu błędu nie powiedzie się, zostanie złapany w pętli rekursywnej. Moje pytanie brzmi: w moim wywołaniu ajax w metodzie ajaxError(), czy istnieje sposób na zatrzymanie globalnej obsługi błędów?
tl; dr jest sposób na użycie globalnej obsługi błędów ajax dla niektórych wywołań ajax, ale stłumić go dla innych?