Тело запроса пустое с Node PUT от Angular 7 - PullRequest
0 голосов
/ 06 марта 2019

Я несколько часов бился головой об стену. Я не уверен, почему это не работает, но это, вероятно, что-то простое, что я скучаю. Обычно это ...

В любом случае, я делаю простой HTTP PUT из Angular 7 следующим образом:

protected put(cmd: string, body: any) {
    let headers = new HttpHeaders();                           
    headers.append('Content-Type','application/json');

    console.log(body);

    return this._http.put(cmd, body, {headers: headers});
  }

cmd и body передаются. Я вижу распечатку тела в консоли, и путь cmd правильный для моего маршрута в Node.

Оттуда он входит в мое приложение Node / Express. Который идет следующим образом:

'use strict';

const express = require('express');
const bodyParser = require('body-parser')

// Constants
const PORT = 8080;
const HOST = '0.0.0.0';

// App
const app = express();

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

app.use(function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content- 
Type, Accept");
  next();
});

app.use('/api', require('./routes/routes'));
app.use('/api/add-user', require('./routes/add-user/routes'));

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);

А это мой файл маршрутов, на котором консоль печатает пустое тело:

const express = require('express');
const router = express.Router();
const dvAdmin = require('../../controller/controller');

//Routes

//GETS

//PUTS
router.put('/addCCUser', function (req, res) {
    console.log(req.body);
});

module.exports = router;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...