问题描述:
我在使用axios的post方法进行传参时,后端无法接收到传递参数,查看浏览器发现,其传递方式竟然是 request payload,而不是from-data
解决方法
因为我用的是vue写的前端,首先我在项目的入口文件 main.js中添加axios传参全局配置和引入qs模块
注:qs模块主要为了转换所要传递的数据时使用,且使用前需要进行先安装,
npm install qs --save
import qs from 'qs'
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
接下来是vue组件中的js部分
axios.post('你的url', qs.stringify({所要传递的数据}), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
})
观察浏览器,此时的提交数据方法变为了form-data,后台进行的相应方法就可以得到数据了