标签:intercept 数组 case tor ESS data 序列 href pat
./src/api/index.js
首先引入axios,引入配置好的路由,并配置响应拦截器
import axios from "axios";
import router from "../router";
// http 响应拦截器
axios.interceptors.response.use(
response => {
// 对响应数据做处理
return response;
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
router.push({
path:'./login'
})
}
}
return Promise.reject(error);
}
)
状态码401是对身份的验证,如果验证失败,需要跳转到登陆页面。
axios.interceptors.request.use(
config => {
if( localStorage.getItem('token') ){
config.headers.Authorization = localStorage.getItem('token')
}
return config;
},
error => {
return Promise.reject(error);
}
)
如果本地存储存在token(如果token存入了vuex的store就从store取),每请求前在参数的headers.Authorization中存入token。
let qs from 'qs';
let config = {
baseURL: process.env.VUE_APP_BASEURL,
method: "get",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
transformRequest: [
function(data) {
// 由于使用的form-data传数据所以要格式化
data = qs.stringify(data);
return data;
}
]
};
//测试接口调用
export const getTestData = params => {
return axios.post("getTestData", params, config).then(res => res.data);
};
接口调用可以全写在‘./src/api/index.js‘这个文件中,也可以独立出来。
标签:intercept 数组 case tor ESS data 序列 href pat
原文地址:https://www.cnblogs.com/sonicwater/p/12179550.html