在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue的怎么在新建的axios.js攔截器文件里用vuerouter跳轉(zhuǎn)

vue的怎么在新建的axios.js攔截器文件里用vuerouter跳轉(zhuǎn)

新建的http.js設置攔截器,怎么在請求攔截器里判斷未登錄,然后用vue-router跳轉(zhuǎn)到登錄頁面

import axios from 'axios'
import { Message } from 'element-ui'
import Router from 'vue-router'

axios.interceptors.request.use(function (config) {
    // 在發(fā)送請求之前做些什么
    console.log('請求呀')
    Router.push('/login')//這樣用不對
    return config;
}, function (error) {
    // 對請求錯誤做些什么
    Message.error({message: '服務器故障', duration: 2000})
    return Promise.reject(error);
});

這樣報錯

回答
編輯回答
網(wǎng)妓

Axios 不適合做未登錄的跳轉(zhuǎn)
如果判斷未登錄最好的跳轉(zhuǎn)方式是

import router from './router'

router.beforeEach((to, from, next) => {
  if (getToken()) { // 判斷是否有token
      // 其他的邏輯
    } else {
      next('/login') // 否則全部重定向到登錄頁
    }
  }
})
2018年6月3日 09:19
編輯回答
護她命

axios.interceptors.response.use(
response => {

 if(response.data.code == "-999"){
    layer.msg("登錄超時,請重新登錄!")
     localStorage.clear();
     store.dispatch("add2")
     store.dispatch("del1")
     router.push({path: "/login"})
 }
return response;

},
error => {

  return Promise.reject(error)

});

2017年8月7日 10:03
編輯回答
款爺

在路由文件router.js中新建路由實例

//router.js
const router = new vueRouter({
    routes,
    mode: 'history',
    base: __dirname,
    ...
});
...
export default router;

在需要使用路由的地方引入router

//axios.js
import router from 'router.js';
router.push(link);
2017年2月27日 05:07
編輯回答
夏夕

這里是不行的,用window.location.href來跳轉(zhuǎn)

2018年1月8日 08:56