jQuery Gestione dei codici di risposta HTTP con $ .ajax ()


Esempio

Oltre a .done , .fail e .always promettono callback, che vengono attivati a seconda che la richiesta ha avuto successo o meno, v'è la possibilità di attivare una funzione quando uno specifico codice di stato HTTP viene restituito dal server. Questo può essere fatto usando il parametro 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')
});

Come afferma la documentazione ufficiale di jQuery:

Se la richiesta ha esito positivo, le funzioni del codice di stato assumono gli stessi parametri del callback di successo; se si verifica un errore (incluso il reindirizzamento 3xx), prendono gli stessi parametri del callback error .