九涯
九涯
  • 发布:2020-09-04 10:43
  • 更新:2024-04-16 10:14
  • 阅读:30454

uniapp使用uni.request请求报错{"errMsg":"request:fail abort statusCode:-1"}的解决办法

分类:uni-app

问题呈现

在uniapp中,使用uni.request()向服务端接口发起请求后,返回值为:{"errMsg":"request:fail abort statusCode:-1"},因此,导致了后面的业务代码报错

前提

检查了uni.request()根据服务端接口需要的配置(如:url、data、header、method等)都没有问题

问题出现的可能原因

在以上前提下还出现这种问题,最有可能的原因:手机没有连网,或者看着连上了网但实际网络不可用,可以在手机浏览器中随便输入点文字搜一下测试看看,能不能搜到新内容。

仔细查看,这个{"errMsg":"request:fail abort statusCode:-1"}返回值,其实并不是服务端返回来的,因为请求都完全没有到服务端

解决办法

在执行uni.request()向服务端请求前,使用uni.getNetworkType()和uni.onNetworkStatusChange()对网络进行监听,如果监听到当前设备是处于无网络的状态时,就不执行uni.request()请求,而是弹出一个弹框或者消息提示,提醒用户:“当前设备断网了,请检查网络后重试”

注:以上是根据我本人实际遇到这个问题后的解决办法,也是在这个坑里吃了不少苦,分享出来,希望给大家提供参考,若解决了你的问题,不要钱,请点一下赞!因为分享经验需要去组织语言、编辑文字,这个过程其实是需要花精力花时间的,因此,创作不易,分享不易!

1 关注 分享
DCloud_UNI_OttoJi

要回复文章请先登录注册

s***@startsmart.com.cn

s***@startsmart.com.cn

回复 1***@qq.com :
我的是第一次不行,再刷新一下就行了,每次间隔很长时间(预计3小时以上)启动App,就会报一次
2024-04-16 10:14
m***@163.com

m***@163.com

回复 2***@qq.com :
你好 请问你解决好了吗
2024-03-23 20:07
1***@qq.com

1***@qq.com

回复 2***@qq.com :
我也是,昨天直接换为ip都可以今天就不行了纳闷
2024-02-20 16:20
x***@foxmail.com

x***@foxmail.com

在manifest.json文件中的web配置模块中找到“启用https协议”选项打勾
2023-11-27 21:01
2***@qq.com

2***@qq.com

回复 2***@qq.com :
我用的http IP形式
2023-11-16 10:23
2***@qq.com

2***@qq.com

这个错是什么原因(新手求解很急)
"errMsg": "request:fail abort statusCode:-1 Expected URL scheme 'http' or 'https' but was 'file'"
2023-11-16 10:22
汉上

汉上

request:fail abort statusCode:-1 unexpected end of stream是啥情况?
2023-07-02 21:58
2***@qq.com

2***@qq.com

uni.request请求的url换成了本地ipv4地址(如192.168.0.105),还是报连接超时:{"errMsg":"request:fail abort statusCode:-1 failed to connect to /192.168.0.105 (port 8800) from /10.155.33.141 (port 36528) after 60000ms: isConnected failed: ETIMEDOUT (Connection timed out)"}。本地电脑浏览器h5端能正常调用到,请问有解决办法没?
2023-05-28 16:02
z***@hotmail.com

z***@hotmail.com

回复 z***@hotmail.com :
如果是手机App访问本地服务器,应该把localhost改成本地电脑ip 192.168.X.X才对
2023-03-28 22:03
z***@hotmail.com

z***@hotmail.com

传入的data转成String:JSON.stringfy(), 或者content-type由Application/json改成application/x-www-form-urlencoded
2023-03-28 21:53