解决vue在IE中,数据不同步,视图不更新,打开ie调试时数据数据视图就更新了的问题...

1 最近项目要支持ie,这也是最令人蛋疼的地方,相信不少朋友被之前的ie低版本坑的不轻,废话不多说,先来介绍一下,ie11中出现的奇葩现象 2 当你用vue加axios,发请求,请求后端接口更新数据,实现视图同步更新,这个操作在ie本地,谷歌以及360等浏览器是没有问题的,但是鄙人发现,一旦你把项目打包后,发到服务器上在ie上访问,就会发现,你用axios发请求,更新页面的列表数据,当你删除列表中的一个数据后,肯定还需要调用相同的接口,用来更新删除后的列表,从而让视图更新,结果你会发现,ie上是不会更新删除后的数据列表的,这个问题,就是ie浏览器的一种机制导致的,ie浏览器会对相同请求的ajax,进行缓存,当你删除数据后,在调用同样的接口,ie不会刷新,只会把第一次请求该接口的数据拿出来,所以,你看到的页面永远都是第一次请求的ajax返回的数据 3 解决办法:   

打开ie调试页面,你会发现,'始终从服务器刷新'打开了,这就是为什么打开调试,页面就能同步更新数据,此时我们把始终从服务器刷新去掉,切换到网络,查看接口的请求的状态,当你删除一个数据后,同样的接口就会出现一个状态码304,百度了一下,304表示的是 ' 只读/无变化 Not Modified ',这就是问题的原因所在,所以我们要解决问题,就需要让ie每次请求接口,都要它认定这个不是同一个接口,那么下面的方法,比较简单的解决了这个问题

是的,给每个接口在请求的时候加上时间戳,这样 每次请求接口都是当前时间的最新时间,从而骗取ie的请求,达到解决问题的效果

转载于:https://juejin.im/post/5d2d3f0a6fb9a07f050a9b2a

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值