Tengo el siguiente código en Node.js:
app.post('/register', function(req, res) { console.log(req.body);Pero parece que el objeto req no tiene propiedad de cuerpo.
Con angular2 estoy enviando JSON en cadena con Content-Type:application/json
El código angular se ve así:
this.http.post( "http://url.com", JSON.stringify(data_obj), {headers:{'Content-Type': 'application/json'}}).subscribe((res:Response) => this.extractData(res));Gracias
La aplicación NodeJS no tiene bodyParser , por lo que no puede analizar el cuerpo de la solicitud. Haz esto en tu aplicación NodeJS
Instalar analizador de cuerpo
npm install body-parser --saveAgregar a la aplicación nodeJS
var express = require('express') var bodyParser = require('body-parser') var app = express() // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false }))Tienes que usar el middleware del analizador corporal en tu aplicación:
https://github.com/expressjs/body-parser
puede instalarlo con este comando: npm install body-parser --save
por ejemplo, puede escribir este código en su archivo principal:
let bodyParser = require('body-parser') app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: false }))Esta es una configuración básica para el middleware del analizador de cuerpo, analiza los parámetros POST en req.body.
Si desea obtener más información sobre las configuraciones del analizador corporal, lea el documento asociado en el repositorio de github.