ich mit ChaiHttp wie dies ein Array von Objekt zu schreiben bin versucht:Wie ein Array von Objekten mit Chai Http schreiben
agent.post('route/to/api')
.send(locations: [{lat: lat1, lon: lon1}, {lat: lat2, lon: lon2}])
.end (err, res) -> console.log err, res
Es gibt einen Fehler wie folgt:
TypeError: first argument must be a string or Buffer at ClientRequest.OutgoingMessage.end (_http_outgoing.js:524:11) at Test.Request.end (node_modules/superagent/lib/node/index.js:1020:9) at node_modules/chai-http/lib/request.js:251:12 at Test.then (node_modules/chai-http/lib/request.js:250:21)
events.js:141 throw er; // Unhandled 'error' event ^
Error: incorrect header check at Zlib._handle.onerror (zlib.js:363:17)
I auch versucht, so zu schreiben, wie wir mit Postbote tun:
agent.post('route/to/api')
.field('locations[0].lat', xxx)
.field('locations[0].lan', xxx)
.field('locations[1].lat', xxx)
.field('locations[2].lat', xxx)
.then (res) -> console.log res
aber payload.locations wird als undefiniert erhalten.
Haben Sie eine Idee, wie Sie ein Array von Objekten über Chai-http veröffentlichen?
EDIT:
Hier ist mein Weg ist und ich denke, dass es mit Strom Nutzlast etwas nicht in Ordnung ist:
method: 'POST'
path:
config:
handler: my_handler
payload:
output: 'stream'
@Cuthbert, Nr. 'Feld' Methode akzeptiert Zeichenfolgen als zweites Argument. Ich habe stattdessen 'JSON.stringify' verwendet und meinen Beitrag erstellt. Wie auch immer, ich habe herausgefunden, dass das Hauptproblem entweder die Super-Ausgabe oder die Payload-Ausgabe ist. –