描述: Axios post 提交数据,后端@RequestParam取不到值,get方式可以去到
原因:axios post 提交数据对数据做了判断,如果是Object类型则把数据转换成JSON格式Request Payload
,JSON提交方式 ( Content-Type:application/json;charset=UTF-8
). 后台@RequestParam 取参数只能通过k=v&k=v
格式字符串格式取值
解决:
- 后端接口通过@RequestBody 接收参数。
- 把
Request Payload
格式转为Form Data
格式
① 设定headersheaders: { '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
})
~~~