axios post提交后台接收数据问题

描述: Axios post 提交数据,后端@RequestParam取不到值,get方式可以去到

原因:axios post 提交数据对数据做了判断,如果是Object类型则把数据转换成JSON格式Request Payload,JSON提交方式 ( Content-Type:application/json;charset=UTF-8). 后台@RequestParam 取参数只能通过k=v&k=v格式字符串格式取值

image.png

解决:

  1. 后端接口通过@RequestBody 接收参数。
  2. Request Payload 格式转为Form Data格式
    ① 设定headers
     headers: {
       'Content-Type': 'application/x-www-form-urlencoded'
     }
    

② 把数据转换成form data
npm install qs -S
重新封装数据

   import qs from 'qs'

   const data = qs.stringify({
     key: value
      ...
   })

   axios.request({
       url: '...',
       method: 'post',
       data
   })
 ~~~

你可能感兴趣的:(axios post提交后台接收数据问题)