使用NodeJS / ExpressJS和Postman无法获取POST数据

这是我的服务器的代码:

var express = require('express'); var bodyParser = require("body-parser"); var app = express(); app.use(bodyParser.json()); app.post("/", function(req, res) { res.send(req.body); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); }); 

从邮递员,我启动一个POST请求到http:// localhost:3000 /和身体/forms数据我有一个关键“富”和价值“酒吧”。

但是,我不断收到一个空的对象在响应。 req.body属性总是空的。

我错过了什么? 在这里输入图像描述

添加请求的编码。 这是一个例子

 .. app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); .. 

然后在邮递员中selectx-www-form-urlencoded或将Content-Type设置为application/json并selectraw

编辑使用原始

生的

 { "foo": "bar" } 

 Content-Type: application/json 

编辑#2回答来自聊天的问题:

  1. 为什么它不能使用表单数据?

你当然可以,只要看看这个答案如何处理expression式4 FormData

  1. 使用x-www-form-urlencodedraw的区别是什么?

application / json和application / x-www-form-urlencoded的区别