axios发送post请求node服务器无法通过req.body获取参数

tech2022-09-17  111

问题:

项目前端使用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()     }   }) }
最新回复(0)