您的位置:首页 > Web前端 > Node.js

Nodejs express获取POST参数值

2020-04-29 15:58 2161 查看

学习 nodejs,获取url post传回的参数时,会发生和我一样的问题,今天就来解决这个小麻烦

node.js不像php这种老牌后端语言有特定的获取外部参数的做法,毕竟是个新生力量,希望后来的版本能够更加便捷高效

//正常的获取值
app.get('/', (req, res) => {
  console.log(req.query);
  res.send('完成');
});
app.post('/', (req, res) => {
  console.log(req.body);
  res.send('完成');
});

正常输出的话,你的预想是这样的...

// GET请求
{
  name: '冯小贤',
  age: '18'
}
完成

// POST请求
{
  name: '冯小贤',
  age: '18'
}
完成

然而并不是!!!

// 两次的输出会是这样!!!
{ }
undefined

这是因为我们这里缺少一个模块,express的中间件 body-parser

官方说明
Node.js body parsing middleware.
Parse incoming request bodies in a middleware before your handlers, available under the req.body property.

基本就是说,解析客户端请求的body中的内容,JSON编码处理和url编码处理

接下来我们就来安装 body-parser

// 安装 body-parser
npm install body-parser
// 导入 app.js
var bodyParser = require('body-parser');
app.use(bodyParser());

//这样就可以使用 req.body 来获取 post 传递来的值了
app.post('/', (req, res) => {
  console.log(req.body);
  res.send('完成');
});

// json就是用  app.use(bodyParser.json())


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: