Tengo un servidor node.js muy simple que tiene
var express = require('express'); var app = express(); app.post('/savearticles', function (req, res) { res.send(req.body); });y código javascript no mucho más difícil
var xmlHTTP = new XMLHttpRequest(); xmlHTTP.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { alert(xmlHTTP.responseText); } } xmlHTTP.open('POST', '/savearticles', true); xmlHTTP.setRequestHeader('Content-Type', 'application/json'); xmlHTTP.send('postparameter');Devuelve indefinido (comprobado al devolver (typeof res.body) ). ¿Qué estoy haciendo mal?
Te estás perdiendo el middleware del analizador corporal . Instálelo y su código debería funcionar correctamente.
const express = require('express') const bodyParser = require('body-parser') const app = express() app.use(bodyParser.urlencoded({ extended: true })) app.use(bodyParser.json()) app.post('/savearticles', (req, res) => { res.send(req.body) })