Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复next()方法重定向后变量值始终为null_Javascript_Vue.js_Vuejs2_Vue Component_Vue Router - Fatal编程技术网

Javascript 如何修复next()方法重定向后变量值始终为null

Javascript 如何修复next()方法重定向后变量值始终为null,javascript,vue.js,vuejs2,vue-component,vue-router,Javascript,Vue.js,Vuejs2,Vue Component,Vue Router,我尝试了一些使用vue cli的软件包。 它是vue的2.6.10版。 当我尝试使用router beforeRoute来保护路由时,当我第一次登录时,它工作正常,但当我删除cookie时,route guard根本不会获得cookie的值来传递给api,它在头请求时总是显示null 请检查我下面的代码 我尝试了vuex,但运气不好 import Vue from 'vue' import Router from 'vue-router' import Login from './views/l

我尝试了一些使用vue cli的软件包。
它是vue的2.6.10版。
当我尝试使用router beforeRoute来保护路由时,当我第一次登录时,它工作正常,但当我删除cookie时,route guard根本不会获得cookie的值来传递给api,它在头请求时总是显示null

请检查我下面的代码

我尝试了vuex,但运气不好

import Vue from 'vue'
import Router from 'vue-router'
import Login from './views/login/route'
import Dashboard from './views/dashboard/route'
import axios from '../lib/axios'

Vue.use(Router)

const router = new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    ...Login,
    ...Dashboard
  ]
})

router.beforeEach( async (to, from, next) => {

  // validate route is auth
  if(to.matched.some(record => record.meta.auth)){
      var cookie = $cookies.get('basic-app-token');
      if(cookie != null){
          console.log('before send', cookie);
          let res = await axios.get('http://localhost:8000/api/token/check',{
            headers: {
              Authorization: 'Bearer '+cookie
            }
          });
          console.log('after send', res.data);
          if(res.data.success){
              next()
          }else{
            next({name: 'login'})
          }
      }else{
        next({name: 'login'})
      }
  }else{
    next()
  }

})

export default router

请求头上的结果始终显示“授权:承载空”。

尝试使用Axios的拦截器设置和发送令牌。您可以显示一个简单的棘手pls吗?尝试使用Axios的拦截器设置和发送令牌。您可以显示一个简单的棘手pls吗?