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);
});
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码