Die erforderlichen Parameter in einer Ajax- errorFunktion sind jqXHR, exceptionund Sie können sie wie folgt verwenden:
$.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);
},
});
DEMO FIDDLE
Parameter
jqXHR:
Es ist eigentlich ein Fehlerobjekt, das so aussieht

Sie können dies auch in Ihrer eigenen Browserkonsole anzeigen, indem Sie console.logdie folgenden errorFunktionen verwenden:
error: function (jqXHR, exception) {
console.log(jqXHR);
// Your error handling logic here..
}
Wir verwenden die statusEigenschaft dieses Objekts, um den Fehlercode abzurufen. Wenn wir beispielsweise status = 404 erhalten, bedeutet dies, dass die angeforderte Seite nicht gefunden wurde. Es existiert überhaupt nicht. Basierend auf diesem Statuscode können wir Benutzer auf die Anmeldeseite oder was auch immer unsere Geschäftslogik erfordert, umleiten.
Ausnahme:
Dies ist eine Zeichenfolgenvariable, die den Ausnahmetyp anzeigt. Wenn wir also einen 404-Fehler erhalten, exceptionwäre Text einfach "Fehler". In ähnlicher Weise können wir als andere Ausnahmetexte "Timeout" und "Abbruch" erhalten.
Deprecation Hinweis: Die jqXHR.success(), jqXHR.error()und jqXHR.complete()Rückrufe werden als von jQuery 1.8 veraltet. Um den Code für ihre spätere Entfernung vorzubereiten, verwendet jqXHR.done(), jqXHR.fail()und jqXHR.always()stattdessen.
Wenn Sie also jQuery 1.8 oder höher verwenden, müssen wir die Erfolgs- und Fehlerfunktionslogik wie folgt aktualisieren:
// 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");
});
Ich hoffe es hilft!
dataTypenichtdatatype.