九涯
九涯
  • 发布:2020-09-04 10:43
  • 更新:2024-11-04 16:15
  • 阅读:39008

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()请求,而是弹出一个弹框或者消息提示,提醒用户:“当前设备断网了,请检查网络后重试”

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

2 关注 分享
DCloud_UNI_OttoJi LPFFFF

要回复文章请先登录注册

友绪

友绪

回复 1***@qq.com :
请问下你的问题解决了嘛
2020-11-25 12:10
含光

含光

回复 九涯 :
可新增
2020-11-14 15:24
九涯

九涯 (作者)

回复 含光 :
没有明白你说的问题,uniapp端没有vue.config.js,你用的是vue-cli脚手架吧?
2020-11-12 14:57
含光

含光

我也遇到了,在vue.config.js里面配置跨域信息,这个在H5页面上就可以,打包安卓APP后就不行,只能使用http地址,而且还有一个问题,就是输入当前连接网段的服务器地址无法访问,这是不是哪里出了问题
2020-11-11 17:12
1***@qq.com

1***@qq.com

uniapp打包成app请求发不出,报errMsg":"request:fail abort statusCode:-1
;h5是正常的,设置sslVerify:false也一样不行,监听网络正常,手机ping服务器也是通的
2020-10-09 18:38
狗尾草joss

狗尾草joss

回复 4***@qq.com :
检查一下你的app网络权限
2020-09-15 13:30
4***@qq.com

4***@qq.com

关键是我用4G网络就一直报这个错,用了wifi就没有,我确信我的4g网络是没问题的
2020-09-15 12:47