问题背景:在IE浏览器下,新增add接口请求成功之后,调用了get查询接口,但是查询接口返回的数据没有刚刚新增add的数据。
控制查看,发现当前查询的接口有(来自缓存)几个字
解决方案:
1、改成post请求,这种需要后台接口同步修改。不建议。
2、给get请求后面加上时间戳。
单个接口修改
export const getSecTree = async () => {
return await http.get(`${api.SEC_TREE_LIST}?t=${new Date().getTime()}`);
};
统一修改,项目里使用的axios,在请求拦截器里添加
//创建axios实例
this._instance = axios.create(this._defaultConfig);
//添加请求拦截器
this._instance.interceptors.request.use(config => {
// ... 其他判断
// 添加时间戳
if (config.method == 'get') {
config.params = {
...config.params,
v: new Date().getTime()
};
}
// ...
return config;
});
处理后,再看控制台,get请求的接口已经加上了时间戳,问题解决。