В настоящее время я переписываю все мои вызовы ajax для использования метода jquery (намного более чистый код!) и объявил функцию ajaxError по умолчанию, показанную ниже:
$(document).ajaxError(function(event, request, settings){
alert("there was some error.. boo");
});
Мой вызов ajax с его собственной определенной функцией ошибки, для которой я не хочу, чтобы по умолчанию было выполнено следующее:
$.ajax({ url: url,
success: function(data){
// do something
},
error: function (r, textStatus, errorThrown) {
// let 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();
}
});
Однако теперь у меня есть несколько вызовов ajax, где я хочу объявить функцию ошибки в вызове ajax. Я надеялся, что, объявив функцию ошибки в вызове ajax, он заменит вызов по умолчанию, который я определил. Но, похоже, это не так, так как я продолжаю сначала получать свой вызов функции функции ajax, тогда я также вижу, что приведенный выше код выполняется.
Я попытался вызвать event.stopImmediatePropagation() из моей функции ошибки ajax, надеясь, что он остановит дальнейшие события (например, событие ошибки по умолчанию), но ничего не сделал, кроме как сказать мне в firefox, что "событие" было undefined.
Любые идеи? Я надеялся, что мне не придется проходить и определять функцию ошибки для КАЖДОГО вызова ajax. Если это произойдет, я сделаю это. Просто подумал, что я спрошу.
Спасибо, Matt