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,框架就会弹出"请求服务失败"的提示。
从你的截图可以看到控制台确实打印出了数据,说明请求是成功的。问题可能出现在:
- 后端返回的HTTP状态码不是200,可能是201、204等其他成功状态码
- 后端返回的JSON数据结构中缺少code字段,或者code字段的值不为0
- 响应数据格式不符合uni-admin的预期格式
建议检查:
- 后端接口返回的完整响应信息,包括HTTP状态码
- 响应数据的JSON结构,确认是否包含
{code: 0, data: [...]}
这样的格式 - 查看uni-admin框架中
$request
方法的源码,了解其对成功响应的判断条件
可以在catch块中打印完整的错误信息来帮助定位问题:
.catch(err => {
console.log('完整错误信息:', err)
})