当前位置: 首页 > news >正文

若依赖前端处理后端返回的错误状态码

【背景】

后端新增加了一个过滤器,用来处理前端请求中的session

若依赖存放过滤器的目录:RuoYi-Vue\ruoyi-framework\src\main\java\com\ruoyi\framework\security\filter\

【问题】

后端返回了一个状态码为403的错误,现在前端需要处理这个错误(跳转到登录首页)。

这是后端发送的ERROR

response.sendError(HttpServletResponse.SC_FORBIDDEN, "Forbidden");

前端页面接收到了
在这里插入图片描述

【解决】

request.js 处理
在vue前端项目中找到request.js 目录:src\utils\request.js
在这里加上对错误码403的处理逻辑即可
这个根据若依这条句写的判断语句 message = "系统接口" + message.substr(message.length - 3) + "异常";

  error => {
    console.log('err' + error)
    let { message } = error;
    if (message == "Network Error") {
      message = "后端接口连接异常";
    } else if (message.includes("timeout")) {
      message = "系统接口请求超时";
    }else if ( message.substr(message.length - 3) === '403') {
      message = "未登录或者登录状态已过期,请重新登录";
      location.href = 'http://localhost:8000/login';
    }else if (message.includes("Request failed with status code")) {
      message = "系统接口" + message.substr(message.length - 3) + "异常";
    }
    ElMessage({ message: message, type: 'error', duration: 5 * 1000 })
    return Promise.reject(error)
  }
)

【解析这句的作用】message.substr(message.length - 3)

    console.log('err' + error) //将错误打印可以看到是:`AxiosError`
    let { message } = error; //从这个错误中拿到他的错误信息message

在这里插入图片描述
message.substr(message.length - 3) 是从字符串末尾提取最后三个字符的语句
逻辑为
1、计算字符串的长度。
2、从倒数第三个字符开始提取子字符串。

http://www.dtcms.com/a/98409.html

相关文章:

  • 【新手初学】SQL注入getshell
  • 1、C51单片机(STC8G2K64S4)串口实验
  • Java开发者指南:深入解析PBFT拜占庭容错算法
  • pycharm终端操作远程服务器
  • 【磁盘扩容】linux磁盘扩容
  • Koordinator-Metric查询
  • Python3基础库入门(个人学习用)
  • [ C语言 ] | 从0到1?
  • Redis设计与实现-哨兵
  • 分销商城小程序开发六大核心功能详解
  • 用react实现router路由
  • C++ 中名字的作用域、概念、嵌套与实践(十八)
  • Java基础-22-基本语法-实体类
  • 【MySQL篇】事务管理,事务的特性及深入理解隔离级别
  • Unity功能模块一对话系统(5)-完善对话流程及功能
  • Python针对大规模数据使用”sys模块加速I/O操作“:
  • 21天Python计划:函数简单介绍
  • PCBB印刷电路板缺陷检测YOLO数据集分享
  • LeetCode hot 100—两两交换链表中的节点
  • Redis场景问题1:缓存穿透
  • 用python压缩图片大小
  • 算法-广度优先搜索
  • WSL系统找不到指定的文件
  • 接口自动化——初识pytest
  • (头歌作业—python)3.2 个人所得税计算器(project)
  • 智能发光斑马线:点亮城市道路安全之光
  • DDR(Double Data Rate)详解
  • 云边端协同
  • vue 脚手架解决跨域问题
  • 2022年12月青少年软件编程(图形化)等级考试三级编程题