vue配置请求头,设置请求拦截
项目中要求兼容ie浏览器,但是当使用Ie浏览器的时候,会出现数据更新了,但是接口请求数据不刷新的情况,如下关键代码可以解决
if (config.method === 'get' || config.method === 'GET') {
config.params = {
_t: Date.parse(new Date()) / 1000,
...config.params
}
}
import axios from 'axios';
import { Message } from "element-ui";
//import { baseURL } from './const';
import tool from '../utils/tools'
// axios配置
const service = axios.create({
//baseURL,
timeout: 100000,
withCredentials: true,
headers: {
timeZone: tool.getTimezone()
}
});
// 添加请求拦截器
service.interceptors.request.use(config => {
// console.log(config);
//当使用Ie浏览器的时候,可能会出现数据更新了,但是接口请求数据不刷新的情况,加上下面这段代码即可
if (config.method === 'get' || config.method === 'GET') {
config.params = {
_t: Date.parse(new Date()) / 1000,
...config.params
}
}
return config;
}, error => {
return Promise.reject(error);
})
// 添加响应拦截器
service.interceptors.response.use(response => {
// console.log(response);
const res = response.data;
if (res.code !== 0) {
if (res.code === 100 || res.code === 1007) {
window.location.href = "" + "/";
return res;
}else if(res.code == 9999){
Message.closeAll();
Message.error(res.msg);
return res;
}else {
Message.closeAll();
Message.error(res.msg);
return res;
}
return Promise.reject(res.message);
} else {
console.log(res)
return res;
}
}, error => {
Message.error(error, 2.5);
return Promise.reject(error);
})
export default service;