BigHornet
BigHornet
  • 发布:2023-12-18 13:08
  • 更新:2023-12-18 16:14
  • 阅读:679

【报Bug】uni.request 提示 errMsg:fail

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: M1 pro

浏览器平台: 手机系统浏览器

浏览器版本: app内置webview

项目创建方式: CLI

CLI版本号: 2.0.2-3090820231124001

App下载地址或H5⽹址: https://web.dahuangf.com/app/qt-app/qtApp.html

操作步骤:

无法复现

预期结果:

就扣请求正常或者告知全面信息的errMsg

实际结果:

服务器恢复后uni.request 提示 {"errMsg":"request:fail"}

bug描述:

目前使用uniapp打包app和h5两端产品,今天两端都遇到了下面的问题:

今天公司服务器配置异常,导致部分接口请求失败,直接uni.request 请求失败:提示 {"errMsg":"request:fail"},随后服务器恢复后,线上运行正常,但是部分出现这个问题的Android机在服务器恢复后还是提示 {"errMsg":"request:fail"},在其他设备操作是正常,唯独在出现这个问题的设备上会一直报这个错误。随后在卸载重装相关app之后正常使用。怀疑是否是网络缓存或者DNS缓存之类的问题

H5是内嵌的钉钉的微应用
app是云打包的app

2023-12-18 13:08 负责人:无 分享
已邀请:
套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

请求的url,最后每个都加个时间戳或者随机数,免得相同的参数,相同的请求,会有缓存的问题

  • BigHornet (作者)

    我试试

    2023-12-18 14:25

  • BigHornet (作者)

    发布后好像是解决了这个问题

    2023-12-18 17:15

DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

楼上给的结论很正确,加时间戳保证每次请求都是新的。你也需要和后端一起验证,接口的返回值是否有缓存的信息,比如配置的 nginx 是否对 /api 有缓存,如果整体服务有问题,可能会影响你的业务时效性

  • BigHornet (作者)

    我们排查一下

    2023-12-18 17:16

  • BigHornet (作者)

    我们项目目前运行了3年,第一次出现这个问题,现在加了时间戳为保证接口的正确性以后都要这样处理吗,以前加这个时间戳只是针对低版本浏览器来优化的。

    2023-12-18 17:31

  • DCloud_UNI_OttoJi

    回复 BigHornet: 如果你在代码逻辑不变的情况下,已经验证了后端接口没问题,个别机器有问题,为了保证这些机器的兼容性,只能添加时间戳了。还是需要提供更多信息来排查缩小范围,这个你需要做业务上的权衡,看社区里类似的反馈没有。我之前兼容 ie 时候是强制改为了 get -> post

    2023-12-18 17:44

  • BigHornet (作者)

    回复 DCloud_UNI_OttoJi: 好的

    2023-12-19 11:02

要回复问题请先登录注册