.ajax-json-Rückgabe auf Fehler
$.ajax({
type: 'POST',
url: api_url+'client/'+client.id+'.json',
data: {
_method: 'delete',
id: client.id
},
success: function(data) {
$('#delete-client').html('Success');
},
error: function(data) {
$('#delete-client').css('color', 'red');
$('#delete-client').html('Error');
}
});
Auf den Fehler: - Funktion der jquery-würde erhalten dieses json-Objekt mit einem 500-header status
{"errors":{"code":777,"message":"Method requested does not yet exist","data":[]}}
aber wenn ich die Daten verwenden.Fehler.Meldung das es nicht der Fehler dort. Es zeigt einen riesigen Objekt mit verschiedenen Veranstaltungen in den Chrome-Entwickler-box, wenn ich die Konsole.melden Sie die Rückgabe-Objekt seine Verwendung
FESTEN
var error = jQuery.parseJSON(jqXHR.responseText);
$('#delete-client').html(error.errors.message);
Wenn die Anfrage den Fehler, warum sollte der Rückruf erhalten nichts?
Ich würde empfehlen, dass Sie Ihren fix in eine Antwort, so dass es offensichtlich ist, was die richtige Antwort war. Ich weiß, das ist eine wirklich alte Frage, aber es zählt hoch auf Google....
Ich würde empfehlen, dass Sie Ihren fix in eine Antwort, so dass es offensichtlich ist, was die richtige Antwort war. Ich weiß, das ist eine wirklich alte Frage, aber es zählt hoch auf Google....
InformationsquelleAutor azz0r | 2011-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
hinzufügen :
dataType:"json"
...............InformationsquelleAutor Royi Namir
Lesen Sie die
$.ajax
- Dokumentation:Überprüfen der Argumente-Liste. Das ist nicht deine Daten. Das ist ein jqXHR-Objekt.
Per definition, wenn Sie haben erfolgreich abgerufenen Daten aus dem server, Sie haben
succeeded
, nichterrored
. Daten sind Daten, ob es die Zeichenfolge enthält"error"
oder nicht.Sollten Sie noch den
success
Rückruf, auch wenn Sie Ihre Daten beschreiben, ist ein Fehler. Nicht senden Sie eine 500-header.Ich denke, Sie haben die Wahl zwischen dem servieren ein 500-Fehler, und senden wieder "Fehler" die Daten. Dieser könnte hilfreich sein.
Im Allgemeinen, die Fehler-code variiert (ich habe eine riesige Liste eingebauten). Danke für den link, obwohl es bestätigt, das das Im das tun die Dinge richtig.
Nein bist du nicht. Sollten Sie Rückgabe einem 4xx-Fehler-code, kein 5xx, als der Fehler des Benutzers für die Beantragung einer schlechten Methode, nicht des Servers
jQuery geht auf die
error
handler für die 4xx-und 5xx-Fehler. Das ist der Kern des Problems.InformationsquelleAutor Eric