欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 解决 Vue-Element-admin 后台请求Uncaught (in promise) Object

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

2025/5/15 20:30:54 来源:https://blog.csdn.net/siaok/article/details/139716538  浏览:    关键词:解决 Vue-Element-admin 后台请求Uncaught (in promise) Object

文章目录

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


问题描述

前端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-loginMessageBox.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,重启项目后,成功登入前台系统。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词