vuecli+axios的post请求传递参数异常
大多数的web服务器只能识别form的post的请求,即请求头Content-Type为’application/x-www-form-urlencoded‘
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'这个试了没有用
直接在请求拦截进行添加
axios.interceptors.request.use(config => {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
return config
}, error => {
return Promise.reject(error)
})
但是在发送请求时任然有问题,会把传递的参数直接作为对象键值就像这样 {params}:(params为一个对象)
所以通过引入qs转化一下
import qs from 'qs'
Vue.prototype.qs = qs
_this.axios.post(_url, this.qs.stringify(params)).then((res) => {
}).catch((err) => {
})