You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js应用中Chrome无法将Token存入Local Storage的问题求助

问题分析与解决方案

核心问题

你的代码完全没有编写将Token存入Local Storage的逻辑,这就是Chrome开发者工具里看不到Token的根本原因。而页面持续重定向回登录页,大概率是路由守卫检查登录状态时找不到存储的Token,判定未授权导致的。

修正步骤

1. 登录成功后存储Token到Local Storage

修改submit方法的成功回调,添加存储Token的代码:

.then(res => {
  console.log(res);
  // 把后端返回的Token存入Local Storage
  localStorage.setItem('authToken', res.data.token);
  this.$router.push({ path: "/" });
})

2. 调整路由守卫逻辑(如果使用了路由守卫)

假设你的Vue Router配置了全局前置守卫,需要让它读取Local Storage中的Token来判断授权状态。示例配置如下:

// router/index.js
import VueRouter from 'vue-router'
import Login from '@/views/Login.vue'
import Home from '@/views/Home.vue'

const router = new VueRouter({
  routes: [
    { path: '/login', component: Login },
    // 给需要授权的路由添加requiresAuth标记
    { path: '/', component: Home, meta: { requiresAuth: true } }
  ]
})

router.beforeEach((to, from, next) => {
  // 从Local Storage读取Token判断是否已登录
  const hasToken = localStorage.getItem('authToken') !== null
  // 如果路由需要授权但没有Token,重定向到登录页
  if (to.matched.some(item => item.meta.requiresAuth) && !hasToken) {
    next('/login')
  } else {
    next()
  }
})

export default router

3. 接口请求自动携带Token(可选)

后续调用后端接口时,可以通过Axios拦截器自动在请求头中携带Token,避免每次手动添加:

// 在main.js或单独的axios配置文件中
import axios from 'axios'

axios.interceptors.request.use(config => {
  const token = localStorage.getItem('authToken')
  if (token) {
    // 按后端要求的格式携带Token,这里用Bearer示例
    config.headers.Authorization = `Bearer ${token}`
  }
  return config
})

验证方式

修改代码后重新登录,打开Chrome开发者工具的Application标签,展开Local Storage -> 当前域名,就能看到authToken的键值对。此时跳转首页将不会被重定向回登录页。

内容的提问来源于stack exchange,提问作者xander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:54:19