简单易懂的axios请求封装
前端简单易懂的axios请求封装!
// 导入axios
import axios from 'axios'
//设置请求的基础路径
// axios.defaults.baseURL = process.env.VUE_APP_BASE_API;
//对axios 做二次封住(利用了axios的请求和响应拦截器,拦截每次请求,对每次请求做一些必要的处理)
// 设置请求拦截器(每次使用axios发请求,请求即将从浏览器发出时,请求会被请求拦截器拦截下来)
axios.interceptors.request.use(function (config) {
// 显示loading
//给config设置请求头
// 每次发请求都会 都会自动执行这个代码,添加请求头
config.headers['Authorization'] = 'Bearer '+localStorage.getItem('token')
return config;
}, function (error) {
return Promise.reject(error);
});
// 设置响应拦截器 (每次使用axios发请求,请求即将从浏览器发出时,响应会被请求拦截器拦截下来)
axios.interceptors.response.use(function (response) {
/* if(response.data.token && response.data.code == 200){
localStorage.getItem('token',res.data.token)
}
也可以在这里来保存token */
// 隐藏loading
return response;
}, function (error) {
// 隐藏loading
// 统一处理错误码
if(error.response.status == 404){
console.log("访问路径有错");
}else if(error.response.status == 401){
alert("登录过期/身份验证失败");
// 删除本地存储中的token
localStorage.removeItem('token');
}else if(error.response.status == 500){
alert("服务器错误");
}
return Promise.reject(error);
});
// 导出axios
export default axios ;
更多推荐
所有评论(0)