Estoy tratando de hacer una publicación simple desde Reactjs a un servidor node.js usando node-fetch; sin embargo, el cuerpo de mi solicitud siempre está vacío (no he podido encontrar ninguna configuración que resulte en un cuerpo no vacío). Aparentemente, he leído todas las preguntas de stackOverflow sobre esto y, lamentablemente, ninguna resuelve mi problema. Aquí está mi código de reactjs:
fetch('http://localhost:3000/sayhello/', {headers: new Headers({ 'Content-Type': 'application/json' }), method: 'POST', body: {"nose":"bop"} }) .then(function(res) { return res.json(); }).then(function(json) { console.log(json); });Y mi server.js: ... importa BodyParser desde 'body-parser';
app.use(BodyParser.urlencoded({extended : true})); app.use(BodyParser.json()); app.post('/sayhello/', function(req, res) { console.log(req.body); res.send(req.body); });La consola siempre da un cuerpo vacío y la respuesta siempre es indefinida. Esto también sucede cuando, en lugar de JSON, solo publico una cadena como cuerpo. ¿Algunas ideas?
Gracias
No se preocupen amigos, parece que lo he descubierto. Me faltaba JSON.stringify en el cuerpo. Espero que esto ayude a alguien en algún momento, para que eviten arrancarse tanto cabello como yo :)