AngularJS Django Rest Framework - versucht, JS-Objekt zu replizieren, das bei 400-Server-Fehler ausgelöst wurde

8

Dies ist mein Django Rest Framework Code / View, der aufgerufen wird, wenn ich versuche, einen Benutzer zu registrieren:

%Vor%

und dies ist mein AngularJS-Code, der einen Benutzer registriert / die Django-Ansicht aufruft, die oben veröffentlicht wurde:

%Vor%

Wenn ich versuche, einen Benutzer zu registrieren, der bereits existiert, wird dies protokolliert:

%Vor%

Ich versuche, das Objekt zu replizieren, da ich in meiner Anwendung, wenn ich Fehler für Formulare erstelle, die Konsistenz beibehalten und Fehler auf die gleiche Weise auslösen möchte (wobei das Objekt den Feldnamen und dann ein Array hat, das eine Zeichenfolge enthält) Fehlermeldung, auf die mit Daten zugegriffen werden kann [prop]).

So habe ich es bei JSfiddle versucht: Ссылка

%Vor%

Das Problem ist, dass der obige Code dies auf der Konsole protokolliert:

%Vor%

Beachten Sie, dass die Daten [prop] unterschiedlich sind, obwohl ich versucht habe, das Objekt in der gleichen Form wiederherzustellen. Ein weiterer Unterschied, den ich bemerkte, ist, dass in meiner Anwendung die Länge des Arrays innerhalb des Arrays wie folgt protokolliert wird:

%Vor%

aber in meinem JSfiddle-Code wird die Länge nicht protokolliert. Der letzte Unterschied, den ich bemerkt habe, ist, dass in meinem JSfiddle-Code das Array innerhalb des Arrays als ein Objekt bezeichnet wird, während in meiner Anwendung das Array innerhalb des Arrays als Array [1] bezeichnet wird. Irgendeine Idee warum? Und wie kann ich das Objekt / Array so erstellen, dass Daten [Stütze] die Zeichenfolge zurückgibt, anstatt

zurückzugeben %Vor%

?

    
user2719875 27.07.2015, 04:11
quelle

1 Antwort

1

Python Django serializer.errors ( Lesen Sie hier ) Standardmäßig wird die Array-Form im Objekt zurückgegeben. Es bedeutet, dass es in Ihrem Fall wie folgt zurückkehren sollte.

%Vor%

Wenn Sie überprüfen möchten, dann öffnen Sie das Dev-Tool und sehen Sie sich die Response-Registerkarte an.

    
Hitesh Siddhapura 05.08.2015, 12:27
quelle