Vue登录界面登录成功无法跳转


 
 

     前言:

           在试着用vue写一个登录页面,已经调试好了,登录成功后,跳转到主页面。但是加了拦截器后,不会跳到主页面

 this.$axios.post(domain.publicUrl+'/login',
                    this.$qs.stringify(data1)).then(res=>{
                      if(res.data.code===200){             
                          this.$router.replace('/main'),
              window.localStorage["token"]=JSON.stringify(res.data.data.token);

                      }else {
                          this.$message({
                              type:"info",
                              message: res.data.msg
                          });
                      }
                });

       二、在这种情况下登录功能,跳转都正常,后来加入了拦截器,代码如下:

router.beforeEach((to, from, next) => {
  if (to.meta.requireAuth) {  // 判断该路由是否需要登录权限
    if (localStorage.token) {  // 获取当前的token是否存在
      console.log("token存在");
      next();
    } else {
      console.log("token不存在");
      next({
        path: '/login', // 将跳转的路由path作为参数,登录成功后跳转到该路由
        query: {redirect: to.fullPath}
      })
      return;
    }
  }

          加入拦截器后,拦截功能正常,跳转功能不正常了,一直都在登录界面,登录成功,token也写入缓存了,但是就是不会跳转,看拦截器代码也没问题,后来看登录的代码才发现了问题所在。我的跳转的代码是在写token之前的。所以跳转到main页面的时候,没有token就又返回到login页面,然后一直循环了。查了半天。哈哈哈 。。。  十一假期要结束了呀,没出去玩,快点上班吧。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM