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

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

要回复文章请先登录注册

z***@126.com

z***@126.com

回复 c***@163.com :
时间问题。你看下手机时间和电脑时间是否是一致的。时间相差太大。就会报错。无论是真机模拟还是线上都会有这个问题。花了一个小时找到的解决的方法,也解决了问题。
2021-11-12 17:04
c***@163.com

c***@163.com

回复 1***@qq.com :
你好,请问你解决了吗,我遇到和你一样的问题
2021-07-05 16:41
awocaoa

awocaoa

遇到同样问题
仅在初次启动时会出现,并且是必现 (iOS下,安卓没试过)

重现方法:关闭模拟器,用hb编译重新启动模拟器,启动后请求会报错,重试又正常请求了

确认服务器接口没问题。
2021-03-22 11:19
九涯

九涯 (作者)

回复 1***@qq.com :
其实,这个报错并不是服务器返回的错误,因为都没有请求到服务器
2021-03-21 15:15
1***@qq.com

1***@qq.com

我们好多个测试服务器,只有一个测试服务器会不时的报这个错!我怀疑是服务器的问题
2021-03-18 09:28
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