今天突然发现,在IE浏览器下,如果对页面的表格记录做增删改操作,页面不刷新,但是在Chrome和FireFox下却很正常,溜溜的。
在IE里,F12打开network监控请求,然后增删改操作,发现每次post/put/get请求的返回值都是正常的,页面也能够正常刷新。但是关闭开发者工具,页面又不刷新了。。。
我猜到了是IE的缓存问题,于是清除了缓存,设置了不缓存。刷新页面,第一次加载页面时能正常显示刚刚增删改的记录。再次增删改,页面又不刷新了。。。
撞了邪了。苦思冥想,谷歌了一番,果然是IE的缓存机制在捣鬼。每次增删改操作之后都有调用axios get请求去拿最新的数据,结果IE并没有发送get请求,而是用了上次get到的老的结果。F12打开newwork查看的时候,却是该怎么请求就怎么请求,无论如何都重现不出问题。怒摔!!
Stackoverflow上有好几种建议,有的说是在把请求的url里加参数,每次附上一个时间戳来保证每次的URL不一样,这样IE就不会缓存而是认真重新发请求。算了,太麻烦了,我采用了如下的方法,把axios的缓存机制关掉,IE就可以正常刷新了。
axios.defaults.headers.get['Pragma'