Здравствуйте, почему при ошибках на сервере, xhr.status не определён? Сервер возвращает правильный код ответа.
Код отправки:
$.ajax({
url: path,
type: "POST", //метод отправки
dataType: "html", //формат данных
data: $(formID).serialize(), // Сеарилизуем объект
success: function(response, textStatus, xhr) { //Данные отправлены успешно
switch (xhr.status) {
case 200:
alert("Запрос успешно выполнен.");
break;
default:
alert("Сервер вернул неизвестный код ответа");
break;
}
},
error: function(response, textStatus, xhr) { // Данные не отправлены
switch (xhr.status) {
case 401:
alert('ОШИБКА: Вы не авторизованны, либо у вас нет прав администратора.');
break;
case 400:
alert('ОШИБКА: Какие-то поля не заполнены.');
break;
case 520:
alert('ОШИБКА: Возможно, проблемы с БД.');
break;
case 409:
alert('ОШИБКА: Возможно, такой пользователь существует.');
break;
default:
alert('Сервер вернул неизвестную ошибку. Код: ' + xhr.status);
break;
}
}
});