Como lidar com o código de resposta HTTP AJAX

Como lidar com o código de resposta HTTP AJAX
Categorias : AJAX

Além de .done .fail e .always promessa de retornos de chamada, que são acionados com base em se a solicitação foi bem-sucedida ou não, há o opção para acionar uma função quando um código de status HTTP específico é retornado do servidor. Isso pode ser feito usando o parâmetro statusCode.

$.ajax({
    type: {POST or GET or PUT etc.},
    url:  {server.url},
    data: {someData: true},
    statusCode: {
        404: function(responseObject, textStatus, jqXHR) {
            // No content found (404)
            // This code will be executed if the server returns a 404 response
        },
        503: function(responseObject, textStatus, errorThrown) {
            // Service Unavailable (503)
            // This code will be executed if the server returns a 503 response
        }           
    }
})
.done(function(data){
    alert(data);
})
.fail(function(jqXHR, textStatus){
    alert('Something went wrong: ' + textStatus);
})
.always(function(jqXHR, textStatus) {
    alert('Ajax request was finished')
});

Como a documentação oficial do jQuery afirma:

Se a solicitação for bem-sucedida, as funções de código de status terão os mesmos parâmetros que o retorno de chamada de sucesso; se resultar em um erro (incluindo redirecionamento 3xx), eles usam os mesmos parâmetros que o retorno de chamada error.

Tag : AJAX HTTP