Ich möchte den Fehler abfangen und die entsprechende Meldung anzeigen, wenn die Ajax-Anforderung fehlschlägt.
Mein Code sieht wie folgt aus, aber ich konnte die fehlgeschlagene Ajax-Anforderung nicht abfangen.
function getAjaxData(id)
{
$.post("status.ajax.php", {deviceId : id}, function(data){
var tab1;
if (data.length>0) {
tab1 = data;
}
else {
tab1 = "Error in Ajax";
}
return tab1;
});
}
Ich habe herausgefunden, dass "Fehler in Ajax" niemals ausgeführt wird, wenn die Ajax-Anforderung fehlgeschlagen ist.
Wie gehe ich mit dem Ajax-Fehler um und zeige die entsprechende Meldung an, wenn dies fehlschlägt?
jquery
ajax
post
error-handling
TTCG
quelle
quelle
$.ajax
Lesbarkeit verbessern, indem ich einen Hash für Sie verwendedata
. Zum Beispiel:{ name : 'John', location: 'Boston' }
$.post().error()
jQuery 1.5 fügte zurückgestellte Objekte hinzu, die dies gut handhaben. Rufen
$.post
Sie einfach an und fügen Sie nach dem Anruf alle gewünschten Handler hinzu. Mit zurückgestellten Objekten können Sie sogar mehrere Erfolgs- und Fehlerbehandlungsroutinen anhängen.Beispiel:
Vor jQuery 1.8 wurde die Funktion
done
aufgerufensuccess
undfail
aufgerufenerror
.quelle
responseJSON
Eigenschaft, die auch im Falle eines Ajax-Typs sehr praktisch istjson
.quelle
quelle
Eine einfache Möglichkeit besteht darin, ajaxError zu implementieren :
Beispielsweise:
Ich würde empfehlen, die ajaxError- Dokumentation zu lesen . Es kann mehr als den oben gezeigten einfachen Anwendungsfall - hauptsächlich akzeptiert sein Rückruf eine Reihe von Parametern:
quelle
Sie müssen den responseText protokollieren:
quelle
Sie hängen den .onerror-Handler an das Ajax-Objekt an. Warum bestehen die Leute darauf, JQuery für Antworten zu veröffentlichen, wenn Vanila plattformübergreifend arbeitet?
Quickie-Beispiel:
quelle