vue-cli-service Axios 持续返还401

2023-05-16

后端:

  • 在登录超时或没有登录的情况,所有请求都会拒绝并且返还HTTP状态码401

前端:

  • 前端将认证的Token放到loadStorage中,在认证失效时候清空。
  • 在接到HTTP状态码为401时,自动的跳转到登录页面,因此有了下面 axios 的全局拦截器
import axios from 'axios';
import router from './router'

// 全局在处理到未认证的错误时统一进入回到根路径
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    if (error.response.status == 401) {
        if (router.currentRoute.value.path != '/') {
            router.replace("/")
        }
      	// 返回空表示不再需要后续链路处理
        return null;
    }
    return Promise.reject(error);
});

错误重现过程:

  1. 打开 后台 、前端开发模式(npm run serve)。
  2. 通过前端登录页面进入系统。
  3. 重启后台服务器,该操作将会导致前端存储的Token失效。
  4. 在前端刷新页面,由于token失效,返回了401的状态码,被全局的拦截器截取到,并替换路由到/
  5. 在登录页再次登录,无论怎么登录都返还401.

Chrome Network 抓包结果如下

在这里插入图片描述
Wireshark抓包结果如下

在这里插入图片描述

后台日志: 没有任何输出,通过Wireshark抓包发现并没有流量到后端。

问题解决

刷新页面

因此我推测前端可能存在问题,排查了许久,没有找到原因,在无奈之下只能手动刷新前端页面

// 全局在处理到未认证的错误时统一进入回到根路径
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    if (error.response.status == 401) {
        if (router.currentRoute.value.path != '/') {
            router.replace("/")
        }
        // 刷新页面
        location.reload()
      	// 返回空表示不再需要后续链路处理
        return null;
    }
    return Promise.reject(error);
});

问题得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue-cli-service Axios 持续返还401 的相关文章

  • 在 Android 中检测传入电子邮件通知

    android 中有传入电子邮件时我们可以检测到通知吗 有什么解决方案 教程或示例代码我可以尝试吗 Thanks 尝试实现NotificationListenerService 这是官方文档https developer android c
  • 并行下载多个文件,就像 Android 中的 Whats App 一样

    我已经知道使用服务 意图服务我们下载多个文件在背景中 但这个问题还有一个更复杂的问题需要解决 我必须在不同的活动中并行下载多个视频 图像 例如 Whatsapp 我在什么应用程序中看到我们可以开始下载 然后我们可以在不同的屏幕上移动或按主页
  • React.js使用axios将数据发布到php,但php echo为空

    我正在使用react js axios和PHP将数据发布到MySQL数据库 这是我的react js代码 sendData var data new FormData data append name jessie data append
  • Service 或 IntentService 或 AlarmManager 方法

    我正在构建一个类似游戏的应用程序 并且我一直在阅读有关在后台 前台 警报等中使用服务运行事物的所有不同方法 我有点困惑 我的应用程序会像这样 示例 用户按下 Main 中的按钮 然后他可以关闭应用程序 30 分钟后 Activity1 打开
  • Windows 7下PostgreSQL pg_ctl注册错误

    在 Windows 7 PostgreSQL 9 3 2 下 我尝试使用不同的端口号和数据目录将同一服务器上的第二个 PostgreSQL 实例注册为服务 使用 initdb 命令在 C Program Files PostgreSQL 9
  • node.js axios 下载文件流和 writeFile

    我想下载一个 pdf 文件axios并保存在磁盘 服务器端 上fs writeFile 我努力了 axios get https xxx my pdf responseType blob then response gt fs writeF
  • Angular2 - 多个依赖的顺序 http api 调用

    我正在构建一个 Angular2 应用程序 其中一个组件需要进行多个 API 调用 这些调用依赖于之前的调用 我目前有一项服务可以调用 API 来获取电视节目列表 对于每个节目 我需要多次调用不同的 API 来逐步检查该结构 以确定该节目是
  • ServiceRoute + WebServiceHostFactory 杀死 WSDL 生成?如何使用 ?wsdl 创建无扩展的 WCF 服务

    我正在尝试使用无扩展名 无 svc WCF 服务 其他人可以确认或否认我遇到的问题吗 我在代码中使用路由 并在 global asax cs 的 Application Start 中执行此操作 RouteTable Routes Add
  • 错误:Zlib._handle.onerror (zlib.js:355:17) 错误号:-3,代码:'Z_DATA_ERROR' 处的标头检查不正确

    我的 HTTP 请求有 content encoding gzip 标头 我正在尝试使用node js 读取数据 我使用下面的代码来解压缩数据 但我明白了错误 Zlib handle onerror zlib js 355 17 错误号 3
  • 作为后台进程/服务运行命令

    我有一个 Shell 命令 我想在后台运行 并且我读到这可以通过添加后缀来完成 到导致它作为后台进程运行的命令 但我需要一些更多的功能 并且想知道如何去做 我希望每次系统重新启动时该命令都在后台启动并运行 我希望能够像人们一样在需要时启动和
  • 知道axios中是否有待处理的请求

    我是 ReactJS 的新手 对于我的 ajax 调用 我尝试使用Axios https github com mzabriskie axios图书馆 太棒了 但现在我想知道是否有办法知道 axios 拦截器中是否有待处理的请求 因为我想显
  • 如何通过 Angular 6 中的服务将对象发送到不相关的组件?

    所以我是 Angular 的新手 我正在尝试使用服务将对象从组件 1 发送到组件 2 当我将结果记录到 component2 中的控制台时 它没有给我对象的更新值 这可能是因为服务在第二个组件中重新初始化 你能帮忙解决这个问题吗 这是我的代
  • Android 2.3 中崩溃服务重启后不会调用 onStartCommand()

    我遇到了 Android 服务重启的问题 我正在针对 API 版本 7 进行构建 并在 Android 2 3 3 的设备上运行 问题是 当我的服务被系统杀死并稍后重新启动时 只有onCreate 我的服务被称为 代码在onStartCom
  • Axios 使用 JSONPlaceholder 返回乱码

    我正在尝试学习使用 Axios 获取 API 数据 最终与 HubSpot API 一起使用 我已经建立了一个小型测试项目 尝试使用 fetch 和 Axios 从 JSONPlaceholder 和 RapidAPI FamousQuot
  • 棒棒糖中的 takePicture 失败

    以下代码正在使用 可在后台拍照 它对于棒棒糖以下的所有版本都工作正常 但在以下版本中给出运行时异常takePicture null null mcall 有任何想法吗 public void takePictures final int d
  • 如何在本地重现 Jest“网络错误”-浮动错误

    当我偶尔在管道上运行测试时 我会收到不同文件的 网络错误 因为axios要求 尽管有时我根本没有收到错误 但由于某种原因 无论我做什么 我都无法在本地得到该错误 我使用相同的节点版本v12 16 1 我尝试将 testTimeout 减少到
  • Windows 服务和 Windows 进程有什么区别?

    是什么不同之处窗户之间service和一个窗户process 服务是真正的 Windows 进程 没有区别 服务的唯一特殊之处在于它由操作系统启动并在单独的会话中运行 一种独立的方式 可防止其干扰桌面会话 传统上命名为daemon http
  • 无法在活动和远程服务之间共享 SharedPreferences - Android 错误或功能?

    我想在 SharedPreferences 更改时更新远程服务 以下内容用于 API 级别 8 Android 2 2 我的活动有一个OnPreferencesChangedListener它通过服务绑定器对象调用远程服务 远程服务的接口提
  • 从vue中的api加载路由

    我正在尝试从我的 API 在 Vue 应用程序中加载路由 我尝试将数据推送到路由变量并使用 addRoutes 方法 但没有运气 我认为异步可能存在问题 但为什么 addRoutes 不起作用 这是我的代码 import Vue from
  • 使用 powershell 从远程服务器获取服务状态

    如何获取需要用户名和密码登录的远程计算机的服务状态 我正在尝试使用以下代码找到解决方案 serviceStatus get service ComputerName machineName Name service 默认语法为get ser

随机推荐

  • ubuntu下开发can数据的接收和发送案例(开发实战一)

    ubuntu下开发can数据的接收和发送案例 一 linux下通用can收发模块说明 二 参数配置 三 代码示例 四 需要安装的包和参考学习 一 linux下通用can收发模块说明 Linux具有通用的can库 可以用来开发can数据收发
  • CAN原理讲解,以及NVIDIA的tx2接收can消息,并进行can设置(开发实战二)

    CAN原理讲解 以及NVIDIA的tx2接收can消息 并进行can设置 A 接线原理图以及引脚定义 B NVIDIA的tx2接收can 并进行can设置 C can原理讲解 以及注意事项 A 接线原理图以及引脚定义 引脚定义配置和查看的学
  • ULN2003步进电机 5V/12V步进电机 28BYJ-48步进电机 13003驱动板开发者文档

    13003步进电机驱动板介绍 我们设计的13003驱动板在核心电路上做了优化 xff0c 如果驱动板电源不小心接反了一下 xff0c 不会击穿单片机 可以驱动5v 28BYJ 48步进电机 12v28BYJ 48步进电机 单片机本身的io可
  • 记录一次ros的rviz和gazebo仿真地图,以及slam建模出现闪烁的问题,以及原因分析,机器人小车配置问题

    记录一次ros的rviz和gazebo仿真地图地图出现闪烁的问题 xff0c 以及原因分析 URDF 43 Gazebo 43 Rviz仿真 看到建立的地图是乱的 xff0c 原因是我的小车配置文件controllers xff0c 也就是
  • 蓝牙通信、串口通信、和can通信以及MCU之间的关系

    说明 xff1a 其端口和can需要设置波特率 xff1a 250 500 xff0c 和can的类型 xff0c can1 can2 串口直接和模拟量通信需要设置串口的信息 xff0c 如下图 xff1a 蓝牙和模拟量通信 xff0c 不
  • 使用 IDEA 几分钟就重构了同事800 行"又臭又长" 的类!真香!

    Python实战社群 Java实战社群 长按识别下方二维码 xff0c 按需求添加 扫码关注添加客服 进Python社群 扫码关注添加客服 进Java社群 来源丨java思维导图 http suo im 6fsMvG 最近在对已有项目进行扩
  • 全面了解超声波传感器

    为了研究和利用超声波 xff0c 人们已经设计和制成了许多超声波发生器 总体上讲 xff0c 超声波发生器可以分为两大类 xff1a 一类是用电气方式产生超声波 xff0c 一类是用机械方式产生超声波 电气方式包括压电型 磁致伸缩型和电动型
  • 卡尔曼滤波---公式推导和一些疑问

    该笔记是在学习up主DR CAN的关于卡尔曼滤波视频后做的笔记整理 up主主页 xff1a https space bilibili com 230105574 文章中有三个链接 xff0c 补充如下 xff1a 贝叶斯滤波 为什么是两个高
  • 联想笔记本G50-80 bios白名单修改

    联想笔记本G50 80 bios白名单修改 缘由 xff1a 更换网卡为AX200 xff0c 遇到bios白名单的限制 xff0c 需要修改bios程序 bios型号 xff1a B0CNA0WW 软件工具 xff1a UEFITOOL
  • acwing笔记

    文章目录 基础知识快速排序归并排序二分查找 基础数据结构数组模拟单链表trie字符串统计并查集堆模板 搜索和图论邻接表数组实现dfsbfskmp最短路最小生成树二分图 数学知识动态规划dp背包问题 贪心 基础知识 快速排序 span cla
  • 20220323华为笔试

    1 span class token macro property span class token directive hash span span class token directive keyword include span s
  • 《葵花宝典》计算机网络篇幅

    文章目录 七层网络模型和五层网络模型 xff0c 以及各自都有哪些常见协议 xff1f TCP UDP对比 xff0c 使用选择TCP为什么可靠 UDP怎样才能可靠扩展考察点 xff1a QUIC 协议TCP UDP报文头部格式TCP三次握
  • 亚马逊爬虫-python

    找实习遇到的作业 xff1a 最终结果 xff1a 实现代码分两部分 xff1a 抓取书籍id 爬取详细数据 1 xff1a import requests import re from pyquery import PyQuery as
  • http请求转串口通信模块实现网页发送文字硬件语音播放(esp8266 串口语音模块 )

    首先你有这样的8266 这两种8266自身带2个按键和烧录芯片方便调试 xff0c 综合性价比较高 还有就是需要这样的串口语音播放模块 有了这些我们开始吧 xff01 1 先看一段视频效果演示 xff0c 再来介绍实现步骤 http请求转串
  • 多智能体系统编队算法仿真--python3实现

    初始条件 xff1a 智能体位置随机生成所有智能体位置全局可知目标多边形位置给定所有个体运行相同算法 xff0c 根据环境来决定自己动作 目标 xff1a 形成均匀多边形分布 xff0c 所谓的 均匀 效果如下图 xff1a 即是多边形上间
  • 大众点评美食评论爬虫

    大家都知道的 xff0c 大众点评用了css反爬 xff0c 脑壳疼 评论文字使用SVG替换 然后还需要登录才能查看全部评论 xff0c 也就是要带cookie了 xff0c 此外时不时跳验证码 xff0c 验证码还有几种 xff0c 这帮
  • Python大佬手把手教你利用wxPython模块编写界面程序

    wxPython是一个开发桌面端图形界面的跨平台函数库 xff0c 开发语言为Python xff0c 它是基于C 43 43 的函数库wxWidgets的封装 很多人学习python xff0c 不知道从何学起 很多人学习python x
  • 什么是栈,栈存储结构详情

    什么是栈 xff0c 栈存储结构详情 同顺序表和链表一样 xff0c 栈也是用来存储逻辑关系为一对一数据的线性存储结构 xff0c 如图所示 从图1我们看到 xff0c 栈存储结构与之前学的线性存储有所差异 xff0c 这源于栈对数存和取的
  • C++cmath数学常用库中的代码介绍

    今天小编来分享一波C 43 43 cmath数学常用库中的常用代码 首先 xff0c 这些所有的代码都来自cmath库 xff0c 所以必须先引用cmath头文件 xff0c 即 xff1a include lt cmath gt 1 绝对
  • vue-cli-service Axios 持续返还401

    后端 xff1a 在登录超时或没有登录的情况 xff0c 所有请求都会拒绝并且返还HTTP状态码401 前端 xff1a 前端将认证的Token放到loadStorage中 xff0c 在认证失效时候清空 在接到HTTP状态码为401时 x