2017-10-24 3 views
0

Wie kann ich Fehlermeldung und HTTP-Fehlerstatus in catch callbcak lesen?Fehler in der Handhabung in Ember

Fehlerbehandlung in Ember Data: 2.16.2 ein wenig verwirrend.

Problem erscheint, wenn queryHTTP 401 Unauthorized mit Daten {error: "Not authorized"} zurückgeben. err does't enthalten Fehler und http-Code (in meinem Fall err == true)

this.store.query('user', { 
      someParam: val 
      }).then((model) => { 
      .... 
      }).catch((err) => { 
      console.log(err) 
      }); 

Antwort

0

Überprüfen Sie zuerst Ihre API Antwort der Entwickler-Tools Browser sicher sein, es richtig ist.

Zweitens, überprüfen Sie dann Ihren Rückruf - sind Sie sicher, dass es nicht wirft true?

0

Ich hatte ähnliche Probleme vor einer Weile. Meine Lösung war, die extractErrors Funktion von DS.JSONSerializer zu überschreiben. Dann können Sie den Payload-Parameter überprüfen und Fehler auf dem gewünschten Formular zurückgeben. Stellen Sie nur sicher, dass Sie die Fehler in einem Formular ähnlich dem Standard zurückgeben, wenn Sie z. Validierung, die von der API-Antwort abhängt.

Siehe https://www.emberjs.com/api/ember-data/2.16/classes/DS.JSONSerializer/methods/extractErrors?anchor=extractErrors