我在Node.js上有以下代码:
app.post('/register', function(req, res) {
console.log(req.body);
但似乎req对象没有body属性。
使用angular2我发送字符串化JSON Content-Type:application / json
Angular代码如下所示:
this.http.post(
"http://url.com",
JSON.stringify(data_obj), {headers:{'Content-Type':
'application/json'}}).subscribe((res:Response) => this.extractData(res));
由于
答案 0 :(得分:0)
NodeJS应用程序没有bodyParser,因此无法解析请求的正文。在NodeJS应用程序中执行此操作
安装正文解析器
npm install body-parser --save
添加到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 }))
答案 1 :(得分:0)
您必须在应用中使用正文解析器中间件:
https://github.com/expressjs/body-parser
您可以使用以下命令安装它:npm install body-parser --save
例如,您可以将此代码写入主文件:
let bodyParser = require('body-parser')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
这是body解析器中间件的基本配置,它将POST参数解析为req.body。
如果您想了解更多关于身体解析器配置的信息,请将关联文档读入github仓库。