jQuery post fail-callback-zeigt keine Reaktion für code 400
Ich habe folgende jQuery-post Anfrage:
$.post("ajax.php", data).done(
function(response){
//do something when response is ok
}
).fail(
function(response){
$("#error").html(response);
}
);
In meinem ajax.php
- Datei, wenn etwas schief geht, ich wieder HTTP response code 400 mit einer Nachricht:
header("HTTP/1.0 400 Error");
echo "Some error message";
exit();
Wenn ich die Reaktion bei fehlerhaften Aufruf in meinem browser kann ich sehen, welchen status-code Status Code:400 Bad Request
- und Antwort-text, den ich übergeben Fehlermeldung. Aber die jQuery - .fail
Rückruf wird nicht angezeigt meine response
.
Wie bekomme ich den Zugriff auf die Fehler - /error-response-text?
BEARBEITEN
Getestet habe ich mein code und die .fail
callback wird ausgelöst, ich kann einfach nicht bekommen, die response-Nachricht wird angezeigt.
InformationsquelleAutor Gacek | 2016-03-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
jqXHR
:.fail
ist eine der verfügbaren Methoden Versprechen das jqXHR-Objekt,jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
Können Sie die
responseText
- Eigenschaft, um die Fehlermeldung wie :Referenz : http://api.jquery.com/jquery.ajax/#jqXHR
was bedeutet
console.log(jqXHR)
zurück?Sorry, mein browser gehalten alte version von js Datei. Es funktionierte nach der harten aktualisieren. Tut mir Leid zu stören.
InformationsquelleAutor KAD
Ich verwende immer 500 für eine ajax-fail code und es wird in der Regel abgeholt .fail für mich. JQ-API für .die post hat eine lange Liste von verschachtelten links, die beschreibt, wie Sie kümmern sich um das JqXHR-Objekt, und wie es interagiert mit JQ als ganzes.
Da bist du nicht auslösen .scheitern mit Ihrem status, Sie hätte Ihren Erfolg überprüfen Sie für Ihre spezifische status-code in den .Erfolg oder .done-Funktion so gerne.
Den Vorteil der Durchführung von eigenen Prüfungen .getan oder .Erfolg ist, dass Sie definieren können, einige nette Verhalten für unterschiedliche Zustände, die Sie zurückgeben möchten, der auf Ihrem server. Es gibt buchstäblich Dutzende von verschiedenen Möglichkeiten zum Umgang mit ajax zurück und definieren der callback-Verhalten.
** * * Hier ist eine andere Frage ALSO, hat noch einige andere Auflösungen.
jQuery-AJAX-Error-Handling (HTTP-Status-Codes)
**Die syntax hier etwas anders, weil diese Frage konzentriert sich auf die .ajax-Methode statt .post, aber die Ideen und Anträge sollte immer noch funktionieren.
InformationsquelleAutor Erik