近来遇到一个奇葩问题,在Chrome浏览器下,接口请求数据(get),后端Debug模式可以响应,而IE下一点反应都没有,一脸懵逼~~~~
后查证得知IE下,get请求,若请求接口一致的情况下,它会直接从缓存里取
所以解决办法有以下方式
1、直接在url后面拼接时间戳
例: http://xxxx?time_stamp=" + new Date().getTime()
2、增加请求头 If-Modified-Since
例:这里用的axios。对get方式都做增加请求头
service.interceptors.request.use(config => {
if(config.method=='get'){
config.headers['If-Modified-Since']='0'
}
return config
}, error => {
// Do something with request error
Promise.reject(error)
})
3、增加请求头Cache-Control,试了一下,木有用,可能打开的方式不对~~~~
以上是我试过的,至于其他方式,有兴趣的朋友可以去试试
咻咻~~