Les paramètres requis dans une errorfonction Ajax sont jqXHR, exceptionet vous pouvez l'utiliser comme ci-dessous:
$.ajax({
url: 'some_unknown_page.html',
success: function (response) {
$('#post').html(response.responseText);
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
$('#post').html(msg);
},
});
DÉMO FIDDLE
Paramètres
jqXHR:
C'est en fait un objet d'erreur qui ressemble à ceci

Vous pouvez également afficher cela dans votre propre console de navigateur, en utilisant console.logà l'intérieur de la errorfonction comme:
error: function (jqXHR, exception) {
console.log(jqXHR);
// Your error handling logic here..
}
Nous utilisons la statuspropriété de cet objet pour obtenir le code d'erreur, comme si nous obtenons status = 404, cela signifie que la page demandée est introuvable. Cela n'existe pas du tout. Sur la base de ce code d'état, nous pouvons rediriger les utilisateurs vers la page de connexion ou tout ce que notre logique métier requiert.
exception:
Il s'agit d'une variable de chaîne qui montre le type d'exception. Donc, si nous obtenons une erreur 404, le exceptiontexte serait simplement une «erreur». De même, nous pourrions obtenir 'timeout', 'abort' comme d'autres textes d'exception.
Avis de dépréciation: lejqXHR.success() , jqXHR.error(), et jqXHR.complete()callbacks sont OBSOLETE jQuery 1.8. Pour préparer votre code pour leur suppression éventuelle, utiliser jqXHR.done(), jqXHR.fail()et à la jqXHR.always()place.
Donc, si vous utilisez jQuery 1.8 ou supérieur, nous devrons mettre à jour la logique de la fonction de succès et d'erreur comme: -
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax("some_unknown_page.html")
.done(function (response) {
// success logic here
$('#post').html(response.responseText);
})
.fail(function (jqXHR, exception) {
// Our error logic here
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
$('#post').html(msg);
})
.always(function () {
alert("complete");
});
J'espère que ça aide!
dataTypepas le casdatatype.