2017-07-18 2 views
0

Ich kann nicht erfolgreich einen Wert auf ein Array, das Teil eines Objekts auf einem Rest API ist. Ich folge diesem Patching arrays, aber ich kann es nicht zum Funktionieren bringen.Versuchen, Array auf Ruhe api

const xhr = new XMLHttpRequest(); 

const formData = { "op": "add", "path": "/residents", "value": this.state.person.id }; 
console.log(formData) 

xhr.open('PATCH', 'http://localhost:3008/planets/' + this.state.person.planetID); 

xhr.setRequestHeader('Content-type', 'application/json'); 

xhr.responseType = 'json'; 

xhr.addEventListener('load',() => { 

    //patch the person const planet id 

}); 
xhr.send(formData); 
+0

Kennt Ihr Backend JSON Patch und wenn ja, welche Fehlermeldung erhalten Sie im Gegenzug? – Iralution

+0

ja tut es. Hier ist, was ich bekomme, anstatt auf das Array zu schieben und keinen Fehler: { "bearbeitet": "2014-12-20T20: 58: 18.421Z", "Klima": "gemäßigt, tropisch", "Surface_water": "8", "Name": "Yavin IV", "Durchmesser": "10200", "rotation_period": "24", "erstellt": "2014-12-10T11: 37: 19.144Z", "Terrain": "Dschungel, Regenwald", "Schwerkraft": "1-Standard", "orbital_period": "4818", "Population": "1000", "id": 3, "Bewohner" : [], "Filme": [], "[Objekt Objekt]": "" }, –

Antwort

0

Wie in der RFC Doc für json Patch angegeben, müssen Sie ein anhängen ‚-‘ auf den Weg:

const formData = { "op": "add", "path": "/residents/-", "value": this.state.person.id }; 

oder einen expliziten Index angegeben wird, in dem Sie den Wert in die hinzufügen möchten Array.

+0

wird nicht zum Array gedrückt. { "bearbeitet": "2014-12-20T20: 58: 18.423Z", "Klima": "gefroren", "Oberflächenwasser": "100", "Name": "Hoth", "Durchmesser" : "7200", "rotation_period": "23", "erstellt": "2014-12-10T11: 39: 13.934Z", "Gelände": "Tundra, Eishöhlen, Bergketten", "Schwerkraft „: "1.1-Standard", "orbital_period": "549", "Bevölkerung": "unbekannt", "id": 4, "Bewohner": [], "Filme": [] , "[Objekt Objekt]": "" } –

Verwandte Themen