1***@qq.com
1***@qq.com
  • 发布:2021-12-29 02:43
  • 更新:2022-09-08 15:16
  • 阅读:1678

【报Bug】安卓端uni.request 无法触发 自己也进行了测试,应该是BUG

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 6.1 7601 Service Pack 1 内部版本 7601

HBuilderX类型: 正式

HBuilderX版本号: 3.3.4

手机系统: Android

手机系统版本号: Android 12

手机厂商: 安卓模拟器

手机机型:

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
        onLoad() {  
//WSS在安卓端发送请求是正常的  
            uni.onSocketMessage(function (res){console.log('收到服务器内容OK:' + res.data);});  
            uni.sendSocketMessage({  
                data:this.objToStr  
            });  
//安卓端uni.request 无法触发,console.log会触发 用雷电模拟器,使用方式”自定义调试基座“,应该能复现  
            console.log('开始执行')  
            uni.request ({  
                method:'POST',  
                url:"url",  
                data:this.cesj,  
                success: (res) => {  
                    this.hhshs = res.data  
                console.log('测试成功')  
                console.log(res)  
                }  
            })  
            console.log('执行完毕')  
        },

操作步骤:
//随便新建个页面 用onLoad() 就能测试  
        onLoad() {  
//WSS在安卓端发送请求是正常的   
            uni.onSocketMessage(function (res){console.log('收到服务器内容OK:' + res.data);});  
            uni.sendSocketMessage({  
                data:this.objToStr  
            });  
//安卓端uni.request 无法触发,console.log会触发,用雷电模拟器,使用方式”自定义调试基座“,应该能复现,发送内容可随意,服务器都有返回值的  
            console.log('开始执行')  
            uni.request ({  
                method:'POST',  
                url:"url",  
                data:this.cesj,  
                success: (res) => {  
                    this.hhshs = res.data  
                console.log('测试成功')  
                console.log(res)  
                }  
            })  
            console.log('执行完毕')  
        },

预期结果:

console.log会打印出来,返回登入成功、失败的RES

实际结果:

只返回console.log的内容

bug描述:

安卓端uni.request 无法触发

1.小程序uni.request是完成没问题的。逻辑方面应该没问题。

  1. 使用https请求我服务器的图片是没问题的。https应该没什么问题。
  2. 安卓端console.log,uni.connectSocket 执行正常,页面渲染没有问题。很可能只是uni.request有问题。
  3. 安卓端uni.reques在安卓端,应该是没有触发,我服务器根本没有收到https请求,我服务器也应该没问题,因为其他请求都正常。
  4. 我是手机模拟器测试的,雷电模拟器,测试方式是”自定义调试基座“。
  5. 我把WSS代码删除了,uni.request也无法触发。
  6. 如果无法复现,可以联系我
2021-12-29 02:43 负责人:DCloud_Android_ST 分享
已邀请:
DCMarvel

DCMarvel

啥玩意啊,uni.request 是异步的啊 肯定会走到console.log('执行完毕') ,能不能好好学学js在写代码!
uni.request 你放一个fail 看看哪里出错了都不会???

  • 1***@qq.com (作者)

    您怎么知道我没试用过异步,是您没试过异步吧。异步也是不行的

    2021-12-29 18:47

  • 1***@qq.com (作者)

    这个是BUG,已经很明显了。其他测试结果我没写而已。这几行代码,只是新建的项目,专门测试用的。

    2021-12-29 18:55

小七ing

小七ing - 大家好

https://ask.dcloud.net.cn/question/135487 跟我的问题有点像,你能稳定复现?

小七ing

小七ing - 大家好

自己想办法开发原生插件

  • 1***@qq.com (作者)

    如果是有必要是考虑用原生插件,不过uni.request比较方便吧

    2021-12-29 18:49

  • 1***@qq.com (作者)

    您可以试一下WSS方式,WSS方式是没问题的,反正这个问题不大。

    2021-12-29 19:04

  • 1***@qq.com (作者)

    您帖子我在发帖前,已经看过了

    2021-12-29 19:16

  • 小七ing

    回复 1***@qq.com: 是呀,只是老有客户出现,我自己并没有办法稳定复现

    2021-12-30 08:44

DCloud_Android_ST

DCloud_Android_ST

看下失败信息是什么。提供下完整测试demo

  • 1***@qq.com (作者)

    应该不需要完整代码就能复现,就是uni.request没反应,同步异步都没反应,不触发,怎么试都不触发。没有失败信息,异步的RES是undefined

    2021-12-29 19:41

  • 1***@qq.com (作者)

    您告诉我怎么样能成功触发就行了

    2021-12-29 19:43

  • DCloud_Android_ST

    回复 1***@qq.com: 你这回复的 我都不知道怎么触发确定原因怎么验证问题。你这什么都不提供让我给解决方案?做不到呀。得先让我能复现问题才行。不知道原因解决不了

    2021-12-29 19:53

  • 1***@qq.com (作者)

    回复 DCloud_Android_ST: 抱歉,第一次发帖,您是管理员吧,我把代码上传到附件,应该就可以了吧。

    2021-12-29 20:09

  • 1***@qq.com (作者)

    回复 DCloud_Android_ST: 我这边自己测试下吧,换个模型器,然后把代码整理下,再上传

    2021-12-29 20:16

  • 1***@qq.com (作者)

    能推荐一款,安卓模拟器吗

    2021-12-29 20:18

  • 1***@qq.com (作者)

    已经把测试项目、打包好的APP发送到附件,麻烦您看下,问题在哪,我换逍遥游模拟器还是有问题。

    2021-12-29 21:25

  • 小七ing

    回复 1***@qq.com: 真机测试还会吗?

    2021-12-30 08:41

  • 1***@qq.com (作者)

    回复 小七ing: 我主要是报个BUG,没去真机测,模拟器也是要能用的。uni.request,同步异步都能是要能用的

    2021-12-30 20:58

  • 1***@qq.com (作者)

    回复 小七ing: 这问题对你项目,应该没影响吧

    2021-12-30 22:42

  • 小七ing

    回复 1***@qq.com: 我也是有客户提示,没有执行uni.request,没有走success和fail,所以持续关注下你

    2021-12-31 09:22

  • DCloud_Android_ST

    回复 1***@qq.com: 没看到项目附件

    2021-12-31 16:15

  • 1***@qq.com (作者)

    回复 DCloud_Android_ST: 我已经排查到原因了,目前还在测试。可以算BUG吧。

    2021-12-31 22:18

  • 1***@qq.com (作者)

    回复 小七ing: 我找原因了,还在测试。和证书有点关系

    2021-12-31 22:20

  • 1***@qq.com (作者)

    回复 小七ing: 这个不算BUG,也算坑了

    2021-12-31 22:21

  • 1***@qq.com (作者)

    回复 DCloud_Android_ST: 我已经自己解决这个问题了,是证书问题。uni.request 会检查证书,但是WSS那个又不会检查证书。结果一开始我以为证书没问题

    2021-12-31 22:35

  • 1***@qq.com (作者)

    回复 小七ing: 我已经解决问题了,证书问题,你可以不检查证书

    2021-12-31 22:36

  • 1***@qq.com (作者)

    回复 DCloud_Android_ST: 这真是个坑,小程序又一点问题没,APP独有问题

    2021-12-31 22:37

  • 小七ing

    回复 1***@qq.com: 好的,大部分客户是可以,一个半个不行,郁闷

    2022-01-01 18:10

嗨哆嚒

嗨哆嚒 - 嗨哆嚒

我也遇见了这个问题,内置浏览器没问题,运行到手机就不生效,昨天没问题的,今早离线打包也可以。

该问题目前已经被锁定, 无法添加新回复