jQuery: Как получить код состояния HTTP из метода $ .ajax.error?

Я использую jQuery для выполнения запроса AJAX. Я хочу выполнять различные действия, независимо от того, является ли код состояния HTTP ошибкой 400 или ошибкой 500. Как я могу этого добиться?

$.ajax({
    type: 'POST',
    url: '/controller/action',
    data: $form.serialize(),
    success: function(data){
        alert('horray! 200 status code!');
    },
    error: function(data){
        //get the status code
        if (code == 400) {
            alert('400 status code! user error');
        }
        if (code == 500) {
            alert('500 status code! server error');
        }
    },
});

Обновление:

@GeorgeCummins упомянул, что «казалось странным» работать с телом ответа. Это первая попытка сделать что-то подобное. Разве мой подход не Что бы вы порекомендовали? Я создал еще один вопрос на StackOverflow для этого здесь: Какой ответ / код состояния я должен отправить на запрос AJAX при возникновении ошибки проверки пользователя / формы?

68
задан Community 23 May 2017 в 11:54
поделиться