最近自己写Nodejs后台接口程序时,发现在vue中发axios的post请求数据时后端的express中的req.body收到的是一个空对象
前端vue组件中写的登录请求函数:后端的代码和接收的数据:
我们发现后端接收返回的是一个空对象,最后再次经过查找资料得出:
如果使用了express搭建后端服务器,而且使用cors解决前端请求跨域问题,和配置joi的表单验证,每次向api提交的表单数据,都会先经过表单验证的中间件,也就是前端发过来的JSON没办法解析,而body-parser是一个HTTP请求体解析的中间件,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体,于是我们可以安装body-parser
中间件,npm ibody-parser
并在app.js中使用:
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
如果觉得《Vue使用axios的post请求nodejs接收数据req.body为空》对你有帮助,请点赞、收藏,并留下你的观点哦!