Was erwartet Ember Data als Antwort auf das Löschen eines Datensatzes?

8

Ich verwende Ember Data mit dem RESTful-Adapter mit einem Rails-Backend.

Wenn ich einen Datensatz aus Ember record.deleteRecord(); record.save() lösche geht die DELETE Anfrage an den Server und das Modell wird gelöscht, aber dieser Fehler wird an die JavaScript Konsole ausgegeben:

%Vor%

Die Antwort vom Server war nur render json: true , also habe ich sie in render json: deleted_model geändert, was den JSON für den gelöschten Datensatz rendert.

Das hat den vorherigen Fehler beseitigt, aber jetzt wird der gelöschte Datensatz in Ember neu erstellt.

Was erwartet Ember in der Antwort?

    
everett1992 18.12.2013, 02:00
quelle

3 Antworten

7

Sie sollten eine 200 mit einer leeren gültigen JSON-Antwort {} zurücksenden. Alle zurückgegebenen Daten werden auf den Datensatz angewendet, als wären sie Attribute.

Ссылка

Zusätzlich können Sie eine 204 ohne Antwort zurücksenden.

Ссылка

    
Kingpin2k 18.12.2013, 02:05
quelle
4

jQuery 1.9 behandelt nicht mehr eine Antwort von 200 für eine JSON Anfrage als Erfolg. Ihr Server sollte nun eine 204 -Antwort für DELETE -Anfragen mit einem leeren Antworttext zurückgeben.

Für einen Rails-Server können Sie Folgendes tun:

%Vor%     
Sapan Diwakar 22.01.2014 10:22
quelle
0

In ember 1.5.1 und ember-data 1.0.0-beta.9+canary.410d62d6 habe ich versucht, ein leeres json-Objekt / Array wie { } zurückzugeben, wie in der obigen Antwort. Es hat nicht funktioniert.

Es hat nur mit einem 200 response code und null als response value funktioniert.

Vielleicht hat sich das geändert, oder es hängt auch von anderen Dingen ab ... Ich kann nicht sagen, aber erzähle nur, was für mich funktioniert hat.

    
Preexo 08.08.2014 03:46
quelle