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

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

要回复文章请先登录注册

1***@qq.com

1***@qq.com

我们好多个测试服务器,只有一个测试服务器会时的报中国错!我怀疑是服务器的问题
2021-03-18 09:27
1***@qq.com

1***@qq.com

我的只有一个接口抱这错,别的请求都是好的,H5没问题,模拟器报的错
2021-02-06 16:06
长很帅

长很帅

回复 4***@qq.com :
解决了吗
2020-12-26 16:10
1***@qq.com

1***@qq.com

回复 4***@qq.com :
你解决了吗,我也遇到这个恶心的问题
2020-12-22 12:51
1***@qq.com

1***@qq.com

回复 友绪 :
第二天回来就好了,莫名奇妙的,我也不知道为什么
2020-11-25 17:31
友绪

友绪

回复 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