JQuery.ajaxSetup: переопределить ошибку с помощью statusCode
У меня есть следующий код для обработки ошибок jQuery AJAX по умолчанию:
$.ajaxSetup({
error : function(jqXHR, textStatus, errorThrown) {
alert("Error: " + textStatus + ": " + errorThrown);
},
statusCode : {
404: function() {
alert("Element not found.");
}
}
});
Однако, когда 404 случается, BOTH функции upcalled: первая ошибка, затем statusCode, поэтому я вижу 2 последовательных предупреждения.
Как предотвратить это поведение и получить обратный вызов ошибки, только если statusCode не был настроен на повышение?
Ответы
Ответ 1
Как просто проверить код состояния 404 в обработчике ошибок?
$.ajaxSetup({
error : function(jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 404) {
alert("Element not found.");
} else {
alert("Error: " + textStatus + ": " + errorThrown);
}
}
});
Ответ 2
Попробуйте следующее:
$.ajaxSetup({
error : function(jqXHR, textStatus, errorThrown) {
if(jqXHR.status === 404) {
alert("Element not found.");
} else {
alert("Error: " + textStatus + ": " + errorThrown);
}
}
});