IE浏览器兼容性问题——get请求来自缓存的处理方案


问题背景:在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请求的接口已经加上了时间戳,问题解决。


文章作者: 程序猿小野
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿小野 !
评论