axios较常用的全局配置

Posted 鳕鱼&羚羊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios较常用的全局配置相关的知识,希望对你有一定的参考价值。

axios.defaults.baseURL = '域名';
if (localStorage.phone) axios.defaults.headers.common['phone'] = JSON.parse(localStorage.phone);//请求头全局配置
if (localStorage.token) axios.defaults.headers.common['token'] = JSON.parse(localStorage.token);//请求头全局配置
// axios.defaults.headers.common['phone'] = localStorage.phone.slice(1, localStorage.phone.length - 1);
// axios.defaults.headers.common['token'] = localStorage.token.slice(1, localStorage.token.length - 1);
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';//请求头全局配置
axios.defaults.transformRequest = [function(data, headers) //传入参数的全局配置
    if (data instanceof FormData) return data;
    else if (data instanceof Object) return Qs.stringify(data);
    else return data;
];

// 添加请求拦截器
axios.interceptors.request.use(function(config) 
    // 在发送请求之前做些什么
    return config;
, function(error) 
    // 对请求错误做些什么
    return Promise.reject(error);
);

// 添加响应拦截器
axios.interceptors.response.use(function(response) 
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    if (response.data.ret === 200) 
        return response.data;
     else if (response.data.ret === 300) 
        location.href = 'login.html';
     else 
        return response.data.msg;
    
, function(error) 
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
);

以上是关于axios较常用的全局配置的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli 引入 axios 并全局配置axios

vue 之axios

vue 之axios

vue项目对axios的全局配置

axios的全局配置

有没有办法为错误响应代码设置全局 axios 配置