En el lado del servidor, Req.body recibió como {}

import { Injectable } from '@angular/core'; import { Http, XHRBackend, RequestOptions, Request, RequestOptionsArgs, Response, Headers } from '@angular/http'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; import { EmployeeSchema } from '../schemas/EmployeeSchema'; @Injectable() export class HttpService extends Http { headers = new Headers(); constructor(public backend: XHRBackend, options: RequestOptions) { super(backend, options); let token = localStorage.getItem('realtoken');; options.headers.set('Authorization', ` ${token}`); } post(url: string, body:Object, options ? : RequestOptionsArgs): Observable  { this.headers.append('Content-Type', 'application/json'); let token = localStorage.getItem('realtoken'); if (typeof url === 'string') { if (!options) { options = { headers: this.headers }; } options.headers.set('Authorization', ` ${token}`); } return super.post(url, body, options) .catch(this.catchAuthError(this)); } private catchAuthError(self: HttpService) { return (res: Response) => { if (res.status === 401 || res.status === 403) { console.log(res); } return Observable.throw(res); }; } } 

al agregar un empleado, el contenido req.body es {} cuando se recibe en el lado del servidor, aquí está el código del lado del servidor

 var mongoose = require('mongoose'); var express = require('express'); var router = express.Router(); var bodyParser = require('body-parser'); //schema-models var employeeCollection = require('../../model/employee.model.js'); var organizationCollection = require('../../model/organization.model.js'); router.post('/new', function(req, res) { var bodycontent = req.body; var addcontent = new employeeCollection(add); console.log(bodycontent); //here req.body is empty {} addcontent.save(function(err, data) { if (err) { res.send(err); } else { console.log('data', data); res.json(data); } }); }); module.exports = router; 

Después de la autorización, la ruta se inició y va al método de req.body se req.body anteriormente, aquí el req.body es vacío {} .

Necesitas usar el bodyParser lugar de solo requerirlo.

Agregue un .use(...) con el analizador de cuerpo. Vea los documentos para más detalles:

Por ejemplo:

 app.use(bodyParser.json()); 
 var mongoose = require('mongoose'); var express = require('express'); var router = express.Router(); var bodyParser = require('body-parser'); 

// Añadir medio de bodyparser

  var app = express(); app.use(bodyParser.urlencoded()); app.use(bodyParser.json()); //schema-models var employeeCollection = require('../../model/employee.model.js'); var organizationCollection = require('../../model/organization.model.js'); router.post('/new', function(req, res) { var bodycontent = req.body; var addcontent = new employeeCollection(add); console.log(bodycontent); //here req.body is empty {} addcontent.save(function(err, data) { if (err) { res.send(err); } else { console.log('data', data); res.json(data); } }); }); module.exports = router;