Post params无法从postman + node js中获取

时间:2016-12-22 12:28:36

标签: node.js rest express postman

我的路线文件中有以下代码:

router.post('/submit', function(req, res) {
    var email = req.body.email;
    console.log(email);
});

我正在邮递员发帖,内容如下: http://localhost:3000/login/submit

PARAMS:

email=abcxyz@gmail.com 

和标题我已经尝试了两个

Content-Type:application/json 

Content-Type: application/x-www-form-urlencoded

另外,我在app.js

中单独安装了body解析器
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

但是,电子邮件的控制台日志显示未定义'。为什么我无法使用req.body.email获取post params。

3 个答案:

答案 0 :(得分:3)

就我而言

http://127.0.0.1:3000/submit

router.post('/submit', function(req, res) {
console.log("Your Email is "+req.body.email);
res.end(); // if you not end the response it will hanging...

enter image description here

仅设置标题类型

Content-Type application/x-www-form-urlencoded

enter image description here

<强>车身

enter image description here 控制台输出 enter image description here

答案 1 :(得分:1)

[ ['Zurich', 17], ['Stockholm', 4], ['Paris', 10], ['London', 18], ['Berlin', 2], ['oslo', 14], ['london', 15], ['helsinki', 16], ['amsterdam', 5]]

Set Body

Set Content-type

答案 2 :(得分:0)

我遇到了类似的问题并使其正常运行,请按照以下步骤操作

  1. 在[标题]标签中,将内容类型如下所示
  

Content-Type:应用程序/ x-www-form-urlencoded

  1. 在“正文”选项卡中,选择 x-www-form-urlencoded 复选框,然后放置参数。
  

email=abcxyz@gmail.com

现在在您的节点应用程序中使用以下代码

router.post('/submit', function(req, res) {
    var email = req.body.email;
    console.log(email);
});