解决 Vue-Element-admin 后台请求Uncaught (in promise) Object

news2024/7/11 9:48:28

文章目录

  • 问题描述
  • 原因分析
  • 解决方案


问题描述

前端Vue-Element-admin与SpringBoot后端对接login接口后,后端login接口正常响应,但在前台无法登入系统,浏览器控制台报了 Uncaught (in promise) Object 错误。
在这里插入图片描述

报错详情如下所示:

在这里插入图片描述


原因分析

通过翻阅大量关于此类问题的博客,推测问题可能出在src/utilsrequest.js文件中,分析其代码,发现 res对象的code === 20000时,vue才认为数据请求成功;否则认为数据请求失败。

部分源代码如下:

  response => {
    const res = response.data

    // if the custom code is not 20000, it is judged as an error.
    if (res.code !== 20000) {
      Message({
        message: res.message || 'Error',
        type: 'error',
        duration: 5 * 1000
      })

      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
      if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
        // to re-login
        MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
          confirmButtonText: 'Re-Login',
          cancelButtonText: 'Cancel',
          type: 'warning'
        }).then(() => {
          store.dispatch('user/resetToken').then(() => {
            location.reload()
          })
        })
      }
      return Promise.reject(new Error(res.message || 'Error'))
    } else {
      return res
    }
  },

在这里插入图片描述
而SpringBoot后端自定义的状态码是200。

在这里插入图片描述
分析到这里,就不言而喻了,前后响应状态码不一致所致


解决方案

要么修改request.js中的响应状态码为后端自定义的状态码,要么在后端把状态码改为Vue-Element-admin 定义的状态码。

注:如果你的Vue-Element-admin与后端尚未联通login接口,如果要改,建议把mock目录中,模拟的状态码也一并修改!是因为Vue-Element-admin 中的Ajax请求数据都是Mock.js模拟的如果走通了,建议直接修改src/utils目录下的request.js即可!!!

在这里插入图片描述
我这里是将后端的状态码改为Vue-Element-admin 定义的状态码2000,重启项目后,成功登入前台系统。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1829938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目经理,请勇敢Say No~

为什么要say no? 培养say no的勇气 优雅的say no! say no 三部曲,项目经理,你准备好了吗? 为什么要say no? 保护项目完整性的屏障 项目管理的核心在于平衡时间、成本与质量三大要素,任何一项的…

Linux常用操作大全(下)

往期文章:Linux常用操作大全(上) 文章目录 七、网络传输1.下载和网络请求ping命令wget命令curl命令 2.端口概念查询端口状态:nmap,netstat 八、进程管理1.进程的概念**2.PS查看进程**3.杀死进程kill 九、主机状态1.任务管理器top命令2.磁盘信…

微信小程序毕业设计-博客系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

【CT】LeetCode手撕—121. 买卖股票的最佳时机

目录 题目1- 思路2- 实现⭐121. 买卖股票的最佳时机——题解思路 2- ACM实现 题目 原题连接:121. 买卖股票的最佳时机 1- 思路 模式识别 模式1:只能某一天买入 ——> 买卖一次 ——> dp 一次的最大利润 动规五部曲 1.定义dp数组,确…

keystone认证服务

keystone认证服务 1、keystone管理用户 1-1、简介: 在OpenStack云计算平台中,Keystone是一个核心组件,主要用于提供统一的认证服务。其功能包括: 身份验证:Keystone负责验证用户的身份,通常通过用户名和…

Qt第三方库QHotKey设置小键盘数字快捷键

一、看了一圈没有找到可以设置小键盘的情况。 这两天在研究快捷键的使用。发现qt的里的快捷键不是全局的。找了两个第三方快捷键QHotKey,还有一个QxtGlobalShortcut。但是这两个都不能设置小键盘的数字。 比如QKeySequenceEdit (Ctrl1) 这个…

java第二十四课 —— super 关键字 | 方法重写

super 关键字 基本介绍 super 代表父类的引用,用于访问父类的属性、方法、构造器。 基本语法 访问父类的属性,但不能访问父类的 private 属性。 super.属性名; 访问父类的方法,不能访问父类的 private 方法。 super.方法名(参数列表); 访…

每天五分钟深度学习框架pytorch:多维tensor向量在某一维度的拼接和分割

本文重点 在深度学习中,我们常常需要完成多个向量拼接,同时也要完成向量的分割,在pytorch中已经有封装好的库,我们可以直接调用完成这部分任务。 Cat拼接 c=torch.cat([a,b],dim=0)表示将a和b按0维度进行拼接,需要注意再非dim维度,两个矩阵的维度必须是一致的,不然会拼…

01 飞行器设计 —— 一门独立的学科

01 飞行器设计 —— 一门独立的学科 01 引言02 飞机设计概述2-1 什么是飞机设计?2-1 飞机设计是从哪里开始的?2-2 如何成为一名飞机设计师?2-4 本书的组织 参考文献 说明:关于Raymer的《Aircraft Design》的读书笔记; …

【数字化转型,从BI开始】论BI在数字化转型的作用

引言:在新的市场和用户需求、传统经济增长缓慢、疫情黑天鹅事件等多重因素的影响下,企业遭遇了集体性的困境,而数字化转型就是各领域企业寻找出的应对方式。数字化转型包含的三维度之一数据力,就包含数据治理和数据分析&#xff0…

第 4 章:从 Spring Framework 到 Spring Boot

通过前面几个章节的介绍,相信大家已经对 Spring Framework 有了一个基本的认识,相比早期那些没有 Spring Framework 加持的项目而言,它让生产力产生了质的飞跃。但人们的追求是无止境的,这也驱动着技术的发展。开发者认为 Spring …

浅谈配置元件之Java默认请求

浅谈配置元件之Java默认请求 1.简介 “Java默认请求”(虽然直接名为"Java Request"更常见)是一个高级配置元件,它允许用户通过Java代码自定义请求逻辑,为测试提供了极高的灵活性和扩展性。 2.Java请求组件概述 在JM…

MYSQL、ORACLE、PostgreSQL数据库对象层次及权限管理对比

文章目录 前言一、PostgreSQL二、MySQL三、Oracle 前言 本文为出于自己扩展、比较、图形化的思维路径自行总结归纳,可能有些细节不太准确,欢迎指正。 MySQL、Oracle、PostgreSQL关系型数据库都有管理员用户、用户、权限管理、表函数索引等数据库对象&am…

Python学习笔记10:入门知识(十)

函数 什么是函数 简单来说就是具备某些特定功能的带有名称的代码块。比如之前我们讲过的列表的增删改查函数,排序函数等等。 函数的作用 代码复用。函数作为具备某些特定功能的代码块,当你的程序需要多次使用同一段业务逻辑的时候,使用函…

KT-H6测距模块标品,测距范围1500m,demo报价1000RMB,批量报价500RMB

激光测距传感器是一种用于测量距离的模块,通常由传感器和相关电子设备组成,测距模块可以集成到各种设备和系统中,以实现准确的测距和定位功能。KT-H6系列激光测距模块,为自主研发,激光波长905nm的激光器,专为热成像、夜视仪、无人机、安防、瞄具等产品定身打造,其优点是…

msvcp120.dll丢失原因分析与解决方法分享

msvcp120.dll 是一个动态链接库(Dynamic Link Library, DLL),属于 Microsoft Visual C 2013 再发行组件包的一部分。它提供了 C 标准库的实现,使得使用 C 编写的应用程序能够在运行时动态链接到该库,从而访问其提供的函…

头歌资源库(6)汉诺塔(递归)

一、 问题描述 二、算法思想 首先定义一个函数,接收四个参数:n表示当前需要移动的盘子数量,A表示起始基座,B表示目标基座,C表示辅助基座。 在函数内部,首先判断如果n为1,即只有一个盘子需要…

父亲节 | 10位名家笔下的父亲,读懂那份孤独而深沉的父爱

Fathers Day 母爱如水,父爱如山。 相对于母爱的温柔,父亲的爱多了几分静默和深沉。 读完10位名家笔下的父亲,我们就会明白,到底亏欠了父亲多少。 不要让自己有“子欲养而亲不待”的后悔和遗憾, 多给父亲一些爱的表示&a…

项目进度和成本管理

1.如何正确标识出软件项目活动? 正确标识软件项目活动是项目管理中的一个重要步骤,它有助于确保项目的顺利进行和成功完成。以下是一些标识软件项目活动的步骤和建议: 项目范围定义:首先明确项目的目标和范围,这将帮助…

某集团数字化转型蓝图规划项目案例(94页PPT)

案例介绍: 本集团数字化转型蓝图规划项目通过确定目标,如制定集团数字化转型的整体战略和规划,明确转型方向和目标。构建数字化业务体系,实现业务流程数字化、智能化。搭建数字化管理平台,提升集团内部的管理效率和决…