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('执行完毕')  
        }, 
                                        
                                    
                                    - 发布:2021-12-29 02:43
- 更新:2022-09-08 15:16
- 阅读:2454
产品分类: 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() 就能测试  
        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会打印出来,返回登入成功、失败的RES
实际结果:
                                    
                                    
                                        只返回console.log的内容
                                     
                                
                                                            只返回console.log的内容
bug描述:
安卓端uni.request 无法触发
1.小程序uni.request是完成没问题的。逻辑方面应该没问题。
- 使用https请求我服务器的图片是没问题的。https应该没什么问题。
- 安卓端console.log,uni.connectSocket 执行正常,页面渲染没有问题。很可能只是uni.request有问题。
- 安卓端uni.reques在安卓端,应该是没有触发,我服务器根本没有收到https请求,我服务器也应该没问题,因为其他请求都正常。
- 我是手机模拟器测试的,雷电模拟器,测试方式是”自定义调试基座“。
- 我把WSS代码删除了,uni.request也无法触发。
- 如果无法复现,可以联系我
 
                                                                    
                                                                看下失败信息是什么。提供下完整测试demo
- 
                                                  没人理的天才 (作者) 应该不需要完整代码就能复现,就是uni.request没反应,同步异步都没反应,不触发,怎么试都不触发。没有失败信息,异步的RES是undefined 2021-12-29 19:41 
- 
                                                  
- 
                                                  回复 1***@qq.com: 你这回复的 我都不知道怎么触发确定原因怎么验证问题。你这什么都不提供让我给解决方案?做不到呀。得先让我能复现问题才行。不知道原因解决不了 2021-12-29 19:53 
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  没人理的天才 (作者) 回复 DCloud_Android_ST: 我已经自己解决这个问题了,是证书问题。uni.request 会检查证书,但是WSS那个又不会检查证书。结果一开始我以为证书没问题 2021-12-31 22:35 
- 
                                                  
- 
                                                  
- 
                                                  
 
             
             
             
			 
                                                                     
                                                                    

 
                                                                     
            
没人理的天才 (作者)
您怎么知道我没试用过异步,是您没试过异步吧。异步也是不行的
2021-12-29 18:47
没人理的天才 (作者)
这个是BUG,已经很明显了。其他测试结果我没写而已。这几行代码,只是新建的项目,专门测试用的。
2021-12-29 18:55