IE浏览器缓存问题解决方法整理

一、IE浏览器缓存的内容分析:

  IE浏览器会缓存网页中的GET和XHR的内容,并且在IE浏览器中如果请求方式是get方式的话,IE浏览器会进行识别,如果该get请求的url是第一次请求的话,会请求项目的后台,从数据库中获取数据,如果该get请求的url不是第一次请求的话,那么该url就不会请求项目后台,IE浏览器会直接从缓存中拿到上次该url获取的数据,无论是什么插件的get方式请求,IE浏览器都会这样进行处理的;  

当你用vue加axios,发请求,请求后端接口更新数据,实现视图同步更新,这个操作在ie本地,谷歌以及360等浏览器是没有问题的,但是鄙人发现,一旦你把项目打包后,发到服务器上在ie上访问,就会发现,你用axios发请求,更新页面的列表数据,当你删除列表中的一个数据后,肯定还需要调用相同的接口,用来更新删除后的列表,从而让视图更新,结果你会发现,ie上是不会更新删除后的数据列表的,这个问题,就是ie浏览器的一种机制导致的,ie浏览器会对相同请求的ajax,进行缓存,当你删除数据后,在调用同样的接口,ie不会刷新,只会把第一次请求该接口的数据拿出来,所以,你看到的页面永远都是第一次请求的ajax返回的数据 

  这是一个非常严重的问题,坑死人了。。。

二、IE浏览器中各种插件或请求获取的数据与数据库的数据不同步的原因:

  各种插件或请求如果是利用get方式请求的时候,在IE浏览器中都会按照IE浏览器缓存机制进行处理的,因此会产生网页中的数据与数据库的数据不同步的现象;

 

三、解决IE浏览器中显示数据与数据库的数据不同步的方法:

  方法一:提交方式是get方式,但是在传递的参数中添加一个随机数或当前时间戳的参数,从而保证每次url请求唯一性,从而解决在IE浏览器中从数据库中获取数据;

  方法二:提交方式修改为post方法,这样就不会出现这样的问题了;

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值