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

问题:

项目前端使用Vue框架,后端使用node.js搭建本地服务器。前端通过 axios 方式请求后端数据的过程中,发现如果是 get 请求,服务器端能够通过 req.query 获取前端传递的参数再向数据库获取数据;但是,如果是 post 请求,服务器却不能通过 req.body 获取参数。

解决办法:

前端 引用 “qs” ,然后在发送 axios 请求时,使用 qs.stringify()将数据包裹起来。

举例如下:

import qs from 'qs'

  

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()
    }
  })
}

  

  

原文地址:https://www.cnblogs.com/belongs-to-qinghua/p/10944549.html