Knoten-fetch-Probleme mit POST-Anfragen
In der postman kann ich erfolgreich diese Anforderung:
Und bekomme diese Antwort:
Jetzt möchte ich den gleichen Wunsch in meinem server.js Datei in node.js:
const fetch = require('node-fetch')
const SEN_URL = "http://www.sentiment140.com/api/bulkClassifyJson" //URL of sentiment analysis
app.get('/api/sentimenttest', async (req, res) => {
try{
var sentiments = await fetch(SEN_URL, {method: "POST", body: {"data": [{"text": "I love you"}, {"text": "I hate you"}]}})
console.log(sentiments)
res.send(sentiments)
}catch(error){
console.log(error)
}
})
Funktioniert das nicht. Hier ist, was zeigt sich in der browser wenn ich auf localhost:5000/api/sentimenttest:
{"size":0,"timeout":0}
und hier ist die Ausgabe der Konsole:
Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]:
{ body:
PassThrough {
_readableState: [ReadableState],
readable: true,
_events: [Object],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
writable: false,
allowHalfOpen: true,
_transformState: [Object] },
disturbed: false,
error: null },
[Symbol(Response internals)]:
{ url: 'http://www.sentiment140.com/api/bulkClassifyJson',
status: 200,
statusText: 'OK',
headers: Headers { [Symbol(map)]: [Object] } } }
Da die Anfrage funktioniert gut im Postbote, ich denke, dass das problem mit Knoten-zu Holen, oder die Art und Weise, dass ich es verwenden, insbesondere, wie die body
parameter ist in der fetch()
nennen. Es scheint, wie der API-Aufruf nicht enthalten, was ich will, es zu haben, da im browser heißt es "size":0
.
Was soll ich tun?
- node-fetch-Syntax-Beispiele ganz klar zeigen, dass Sie mindestens
JSON.stringify()
den Körper Daten oder übergeben Sie es in verschiedene andere Möglichkeiten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie warten für json.
Auch Sie können Anfrage mit
JSON.stringify()
für den Körper. Und es wird einfacher sein, zu verwalten js-Objekt. Wie diese:JSON.stringify
, da es erforderlich ist, durch dienode-fetch
- Modul für das senden von JSON in POST-requests.