vue项目axios的全局配置
新建axios-init.js文件import axios from 'axios';export default()=>{let loadingInstance; //创建Loading 的实例axios.defaults.baseURL = appConfig.xhr.baseURL; // 配置axios请求的地址axios.defaults.head...
·
新建axios-init.js文件
import axios from 'axios';
export default()=>{
let loadingInstance; //创建Loading 的实例
axios.defaults.baseURL = appConfig.xhr.baseURL; // 配置axios请求的地址
axios.defaults.headers.post['Content-Type'] = 'application/json; charset=utf-8';
axios.defaults.crossDomain = true;
axios.defaults.withCredentials = true; //设置cross跨域 并设置访问权限 允许跨域携带cookie信息
axios.defaults.headers.common['Authorization'] = ''; // 设置请求头为 Authorization
//配置发送请求前的拦截器 可以设置token信息
axios.interceptors.request.use(config => {
return config;
}, error => {
loadingInstance.close();
return Promise.reject(error);
});
}
// 配置响应拦截器
axios.interceptors.response.use(res => {
loadingInstance.close();
//这里面写所需要的代码
if(res.data.code =='401'){
//全局登陆过滤,当判读token失效或者没有登录时 返回登陆页面
return false;
};
return Promise.resolve(res);
}, error => {
loadingInstance.close();
return Promise.reject(error);
}
return Promise.reject(error);
};
return axios;
);
在main.js里面引入
import axiosInit from "./axios-init";
//把axios 作为Vue的原型属性
window.axios = axiosInit();
Vue.prototype.$http = window.axios;
实际运用代码
this.$http.post(``,参数).then(res=>{}).catch(error=>{});
更多推荐
已为社区贡献10条内容
所有评论(0)