Ответ 1
Замените функцию ошибки следующим образом:
error:function (xhr, ajaxOptions, thrownError){
if(xhr.status==404) {
alert(thrownError);
}
}
У меня есть этот код:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
Я все еще запутался в ajaxContext и как захватить 404 коды возврата. Однако у меня есть другой вопрос. Я читаю кое-что о кодировании с успехом и терпит неудачу и больше не использую ошибку в последних версиях jQuery.
Так что я должен изменить свой код, чтобы использовать выполненный и завершившийся сбой. Как тогда я могу проверить 404?
Замените функцию ошибки следующим образом:
error:function (xhr, ajaxOptions, thrownError){
if(xhr.status==404) {
alert(thrownError);
}
}
404 erros будет обрабатываться анонимной функцией, подключенной к свойству error
. Все, кроме успешного HTTP-запроса на URL (т.е. 2xx), вызовет метод ошибки. Следующие действия будут работать для вашей цели:
error : function(jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 404 || errorThrown == 'Not Found')
{
console.log('There was a 404 error.');
}
}
Когда они ссылаются на удаление функций success
и error
в документации jQuery, они относятся к классам jqXHR, а не к свойствам $.ajax()
.