401状态码的处理

401状态码的含义

axios向服务器端发送请求时,有两种情况会出现401状态码(unauthorized未授权):

  1. 服务端要求传递token信息,而实际发送请求时没有传递。
  2. 发送请求时有传递token到达服务器端,但由于时间比较久,这个token在服务器中已经过期了(服务器存储token有效期时间为2个小时)。
  • 总之,服务器端有些api接口要求传递token,token失效或没有传递,就会报401错误。

401状态码的处理

  1. axios请求拦截器中做token传递操作。
  2. 可以这样设置,在axios响应拦截器中判断请求状态如果是401,就强制用户重新登录系统。

第2种情况处理实现

在axios的响应拦截器中,判断错误码等于401就强制登录(utils/ax.js)

// 引入路由
import router from '@/router'// 配置响应拦截器
axios.interceptors.response.use(function (response) {// 正常响应处理return response
}, function (error) {// 非正常响应处理(包括401)// console.dir(error) // 对象: config request response isAxiosError toJSONif (error.response.status === 401) {// token失效(token在服务器端已经失效了,2个小时时效)// 强制用户重新登录系统,以刷新服务器端的token时效router.push('/login')// 不要给做错误提示了return new Promise(function () {}) // 空的Promise对象,没有机会执行catch,进而不做错误提示了}// return new Promise((resolve,reject)=>{// reject('获得文章失败!')// })return Promise.reject(error)
})

注意

  1. 路由对象.push(xxx) 可以实现编程式导航。

  2. 路由对象:在组件中是 this.$router ,在main.js/ax.js文件中就是router对象(需要import导入)。

  • 模拟服务器端token失效步骤:
  1. 删除客户端sessionStorage数据。
  2. 暂时屏蔽守卫代码(开发完毕再打开)。

401状态码的含义和处理相关推荐

  1. http中各个状态码的含义

    HTTP各个状态码的含义 http各个状态码的含义:由三位数字组成,第一位定义了状态码的类型 2开头:(请求成功)表示成功处理了请求的状态代码 200:(成功)服务器已成功处理了请求.通常,这表示服务 ...

  2. HTTP协议状态码的含义

    HTTP协议状态码的含义 号码含义 ----------------------------------------- "100":Continue "101" ...

  3. HTTP各个状态码的含义

    http各个状态码的含义:由三位数字组成,第一位定义了状态码的类型 2开头:(请求成功)表示成功处理了请求的状态代码 200:(成功)服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 20 ...

  4. 请解释一下http请求中的304状态码的含义

    请解释一下http请求中的304状态码的含义 304 未被修改. 自从上次请求后,请求的网页未被修改过.服务器返回此响应时,不会返回网页内容. 如果网页自请求者上次请求后再也没有更改过,你应将服务器配 ...

  5. python状态码及其含义_Shell退出状态码及其应用详解

    Shell 中运行的命令会使用0-255之间的整数值,作为退出状态码,并以此来告知shell该命令执行的状态.通常情况下,约定0代表命令成功结束,非0代表程序非正常退出. 典型退出状态码及其含义 退出 ...

  6. 状态码的含义,以及HTTP中常见的状态码

    一.HTTP中状态码的含义 要想讲状态码,就先的大致明白状态码产生的原因,就不得不说一下访问网页的基本流程. 1.访问网页的基本流程: 当我们在访问一个网页的时候,会在客户端浏览器中输入一个URL(也 ...

  7. 服务器返回401状态码

    401状态码表示未授权unauthorized,有两种情况 ①服务端要求传递token信息,而实际客户端没有传 ②传了token,但是在服务器端已经过期了(服务器端存储token的有效期为2个小时) ...

  8. 接口报错401 状态码 Unauthorized

    接口报错401 状态码 Unauthorized 接口报错401 状态码 Unauthorized 报错原因 状态码 401一般指认证发生错误,需要排查认证的参数及获取方式是否正确 解决办法 如果请求 ...

  9. http 返回的状态码以及含义

    HTTP状态码status的全部属性值及含义: 1xx:请求收到,继续处理  2xx:操作成功收到,分析.接受  3xx:完成此请求必须进一步处理  4xx:请求包含一个错误语法或不 能完成  5xx ...

最新文章

  1. html5 作业调度,Net作业调度(五)—quartz.net动态添加job设计
  2. python 0o10_Python 从业十年的程序员,写的万字经验分享
  3. Windows中安装Emacs
  4. Akka型演员:探索接收器模式
  5. AD域控制器所有使用的端口明细列表
  6. nutch2.3 mysql教程_nutch2.2.1+mysql集成教程
  7. 用c语言写一个文件加密程序,用C语言设计程序进行文件的加密
  8. 图片怎么转化word文档?分享一个实用的方法。
  9. iis7 下php 环境配置文件,Win7下在IIS7中配置PHP的环境
  10. 网站被百度提示安全风险拦截后如何快速申请解封
  11. 深入探索 Android 网络优化(二、网络优化基础篇)上
  12. Linux下测试SSD硬盘读写速率
  13. 北大计算机图灵班,北大2019“图灵班”计划招60人,在北大什么条件才能进图灵班?...
  14. PYNQ-z2的学习过程
  15. springnative让java应用脱离jvm
  16. 0x000000f怎么修复 win10_0xc000000f修复引导win10步骤
  17. 分享一篇企鹅的暑期实习生技术面经验
  18. 华唯鑫能油的推荐每日一练|你知道的液体燃料有哪些?
  19. 基于智能和视觉的火灾检测系统:调查 (论文翻译)
  20. Mac下完美利用雷蛇鼠标的多个功能按键(解决雷蛇Win键组合键无法映射问题)

热门文章

  1. Unity3D-Baked Lightmapping 示例学习
  2. Python面向对象编程---多态
  3. TiDB 在 2021 易车 818 汽车狂欢节的应用
  4. 什么是IssS,PaaS和SaaS及其区别
  5. 构建宽带城域网的基本技术与方案
  6. Python中文件操作(读、写、关闭)
  7. Linux系统Debian安装
  8. intersect的用法简介
  9. 在ubuntu下手机无法挂载的问题
  10. asp.net1036-物流管理信息系统#毕业设计