前言: vue
在試着用vue寫一個登陸頁面,已經調試好了,登陸成功後,跳轉到主頁面。可是加了攔截器後,不會跳到主頁面ios
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 }); } });
2、在這種狀況下登陸功能,跳轉都正常,後來加入了攔截器,代碼以下:axios
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頁面,而後一直循環了。查了半天。哈哈哈 。。。 十一假期要結束了呀,沒出去玩,快點上班吧。緩存