您当前的位置: 首页 >  缓存

任磊abc

暂无认证

  • 1浏览

    0关注

    182博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

任磊abc 发布时间:2020-06-05 17:17:07 ,浏览量:1

一、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方法,这样就不会出现这样的问题了;

关注
打赏
1656830895
查看更多评论
立即登录/注册

微信扫码登录

0.0372s