vue项目解决苹果浏览器的缓存功能

在开发vue项目的时候,测试人员给我提了一个bug:“苹果自带浏览器登录后杀死浏览器重新进入后,页面刷新所有数据不显示”。

我仔细的回顾了一下代码,感觉我的代码没有什么问题,问测试要来了测试机,解决发现问题是真是存在的,然后我首先认为是因为vue路由没有读取到,我修改了一下路由参数的传递方式,结果发现并不是这个原因。然后我查看了一下网络请求,发现没有token,然后我有所顿悟,发现是因为苹果浏览器杀死重进以后并不直接进入登录页面,而是直接返回原先的页面。而我的token是从登录接口中获取的。这样就导致我在网络请求中无法读取到token,然后页面中没有请求的数据。

我的解决方案如下:

设置一个全局守卫,在路由更新的时候判断token是否存在,如果不存在直接跳转到登录页

router.beforeEach((to,from,next)=>{
  if (to.path=='/'){
    next();
  }else {
    let token=store.state.token
    if (token=='null'||token==''){
      next('/')
    }else {
      next()
    }
  }
})

这样我们就成功解决了问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前路茫茫——何处无香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值