uni-app uni-admin请求到数据但仍弹出请求服务失败

uni-app uni-admin请求到数据但仍弹出请求服务失败

示例代码:

this.$request('userList/getUserList',this.form).then(res => {
console.log(res)
this.tableData = res.data
}).catch(err => {
console.log(err)
}).finally(err => {  
    })

操作步骤:

this.$request('userList/getUserList',this.form).then(res => {
console.log(res)
this.tableData = res.data
}).catch(err => {
console.log(err)
}).finally(err => {  
    })

预期结果:

打印返回数据

实际结果:

请求服务器错误

bug描述:

本地调试,明明请求到数据,但是还是弹出【请求服务失败】


更多关于uni-app uni-admin请求到数据但仍弹出请求服务失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

什么版本的HBuilderX?只有这一个接口这样还是所有的接口都一样?请求后面的小乌龟是模拟了慢网速吗?请求耗时多久?

更多关于uni-app uni-admin请求到数据但仍弹出请求服务失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


HBuilderX3.1.7.20210330,我只做了这一个接口,就出现这种情况,登录注册都是uni-admin自带的没有出现这种形况,我做的这个接口平均耗时0.5s,小乌龟是浏览器自动行为,一般0.5s以上的响应速度浏览器会标出小乌龟,非人为刻意为之

解决了,在返回的数据中code要给0

这个问题通常是由于uni-admin框架的请求拦截器对响应状态码的判断逻辑导致的。即使请求成功返回了数据,但如果HTTP状态码不在200-300范围内,或者返回的JSON数据中code字段不为0,框架就会弹出"请求服务失败"的提示。

从你的截图可以看到控制台确实打印出了数据,说明请求是成功的。问题可能出现在:

  1. 后端返回的HTTP状态码不是200,可能是201、204等其他成功状态码
  2. 后端返回的JSON数据结构中缺少code字段,或者code字段的值不为0
  3. 响应数据格式不符合uni-admin的预期格式

建议检查:

  • 后端接口返回的完整响应信息,包括HTTP状态码
  • 响应数据的JSON结构,确认是否包含{code: 0, data: [...]}这样的格式
  • 查看uni-admin框架中$request方法的源码,了解其对成功响应的判断条件

可以在catch块中打印完整的错误信息来帮助定位问题:

.catch(err => {
    console.log('完整错误信息:', err)
})
回到顶部