后端接收不到前端body请求的参数"/>
node.js后端接收不到前端body请求的参数
接收不到参数,找啦半天终于找到原因啦
- 问题分析
- 解决办法
问题分析
- 刚开始报错
TypeError: Cannot destructure property `type` of 'undefined' or 'null'.at C:\Users\Lenovo\Desktop\me-project\boss\server\user.js:21:11
- 后来发现后端的request请求参数中找不到传过去的前端数据
- 打印后发现request没有body
- 本来以为是Content-Type: application/json的参数格式不对
- 但是用postman测试软件,也接收不到请求参数
- 于是问题定位到接收不到参数的问题
- 在node.js中传递body参数必须用body-parser进行解析
- 但是我按照网上的方式全局解析后依旧没有解决
- 后来每个接口逐一解析成功接收到参数
- 其实后来发现body-parser没有解析成功是因为body-parser必须放在路由之前、放在路由之后是没办法解析成功的
解决办法
//全局解析
const bodyParser = require('body-parser');
app.use(bodyParserjson());
//每个接口逐一解析
const bodyParser = require('body-parser');
Router.post('/register',bodyParser.json(),function(req,res){const {type,pwd,user} = req.body//处理请求数据
})
更多推荐
node.js后端接收不到前端body请求的参数
发布评论