Vue axios 将传递的json数据转为form data

修改main.js文件中axios的配置,在发送请求前将数据用qs模块转化,并修改请求头的Content-Type='application/x-www-form-urlencoded'

//main.js
import axios from 'axios'
import qs from 'qs'
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    if(config.method!='get'){
        config.data=qs.stringify(config.data);
    }
    config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
    let token = window.sessionStorage.getItem("TOKEN");
    if(token) {
        config.headers.common['Authorization'] = "Bearer " + token;
    }
    return config;
},function (error) {
    return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
}, function (error) {
    // if(error.response&&error.response.data.errcode==500){
    //     ElementUI.Message({
    //         type:'warning',
    //         message:"身份过期,请重新登录",
    //         onClose:function(){
    //             sessionStorage.removeItem('TOKEN')
    //             router.push('/login')
    //         }
    //     });
    // }
    // 对响应错误做点什么
    return Promise.reject(error);
});


猜你喜欢

转载自blog.csdn.net/qq292913477/article/details/80690653