如题:
最近一直在用axios,记录一下axios的拦截用法
// 发送请求
Axios.interceptors.request.use(
(config) => {
let token = store.state.token;
let hasAuthority = store.state.authority;
//给每个请求手动添加sessionId
if (!hasAuthority) {
store.dispatch("showNoAuthorityTip", true); //提示无权限
return false;
}
//修改请求头 可根据业务意义自定义
config.headers["SessionId"] = token;
return config;
},
(err) => {
return Promise.reject(err);
}
);
// http response 拦截器
// 接收请求
Axios.interceptors.response.use(
(response) => {
// 根据接口返回情况 自定义拦截处理
if (response.data.status === "异常操作") {
alert("接口异常,请联系相关开发人员");
return false;
}
return response;
},
(error) => {
return Promise.reject(error);
}
);
前端统一拦截以后,很多业务代码就非常好写了。