本文主要是介绍axios发送post请求node服务器无法通过req.body获取参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:
项目前端使用Vue框架,后端使用node.js搭建本地服务器。前端通过 axios 方式请求后端数据的过程中,发现如果是 get 请求,服务器端能够通过 req.query 获取前端传递的参数再向数据库获取数据;但是,如果是 post 请求,服务器却不能通过 req.body 获取参数。
解决办法:
前端 引用 “qs” ,然后在发送 axios 请求时,使用 qs.stringify()将数据包裹起来。
举例如下:
npm install qs//main.js引入:import qs from 'qs'
Vue.prototype.$qs = qs
vue使用:
addSubmit () {this.$refs.addForm.validate(async valid => {if (valid) {// 下面是包裹数据的部分const { data } = await this.$http.post('addUser',qs.stringify(this.addForm))if (data.code !== 200) return this.$message.error(data.message)this.$message.success(data.message)this.getData()}})
}
这篇关于axios发送post请求node服务器无法通过req.body获取参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!