收藏
回答

wx.request回调函数有时不触发

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.request 微信iOS客户端 6.6.7 2.2.2

你好,我的小程序使用的域名的域名real.monggol.top 已经备 已经备案,TLS也支持1.2,也在小程序后台配制为合法域名。但有问题是这段代码:

wx.request({url:'https://real.monggol.top/article/index?pageNum=1&numPerPage=5',

success:function(res){

console.log("success")

},

fail:function(res){

console.log("fail")

}})


有时能访问可以得到正确结果并走success方法。但有时访问能看到返回结果,但是不走success,与不走fail方法,随后所有的请求都会是这样(哪怕重新编译代码),只有重启微信开发工具或者手机重新扫描才可以恢复正常。 这个BUG不分基础库版本,工具版本,微信版本,都会出现。



不正常情况截图:


(重启工具后)正常情况输出:


回答关注问题邀请回答
收藏

6 个回答

  • 37.5℃
    37.5℃
    2019-01-14

    关闭这个即可

    2019-01-14
    有用
    回复 1
    • ᵗ ⁱ ʷ
      ᵗ ⁱ ʷ
      2019-01-29

      我也是关闭了个这个才通过的。

      2019-01-29
      回复
  • 忐自™
    忐自™
    2018-09-28

    同遇到,无解了

    2018-09-28
    有用
    回复
  • 『空城*旧梦』
    『空城*旧梦』
    2018-09-16

    楼主好,我的问题跟你一样,网络请求时好时坏,接口数据有返回但就是不进入回调。之前开发工具上有这个问题时不校验域名等就好了。现在自己开发调试完全不重现,但是有的用户却经常出现这种情况。想问下你这个问题是怎么解决的。

    2018-09-16
    有用
    回复 2
    • 谦谦君
      谦谦君
      2018-09-16

      这是个bug,该问题一直保留。

      2018-09-16
      回复
    • 『空城*旧梦』
      『空城*旧梦』
      2018-09-16

      那不是很影响体验吗?有没有可能是SSL/TLS的问题呢?还有,这种情况是不是多发在iPhone手机上?

      2018-09-16
      回复
  • 小飞
    小飞
    2018-08-12

    楼主好,不知道有否解决此问题。

    我的问题类似,当不开域名校验时wx:request请求正常且返回数据可以被回调函数执行,但当开了域名校验后服务器数据有返回但回调函数无反应且开发工具也不报错,百度了半天还是没有解决此问题。

    2018-08-12
    有用
    回复 4
    • 小飞
      小飞
      2018-08-13

      不好意思,我的问题找到了:是有关开发工具配置有问题造成的。

      由于是ubuntu下开发,之前配置的nwjs-sdk-0.25.4-linux-x64环境下配合gitHub上下载的wechat_web_devtools-master中package.nw包,造成此问题。现在由于wechat_web_devtools-master中已经集成了nwjs-sdk,现在直接配置此开发环境,解决了此问题。

      2018-08-13
      回复
    • 谦谦君
      谦谦君
      2018-08-14回复小飞

      那我的和你这种情形还不太一样。龙其我在不断切换微信基础版本的时候,就会在第5、6次的时候wx.request回调函数会突然没反应。

      2018-08-14
      回复
    • 小飞
      小飞
      2018-08-14回复谦谦君

      是的,看来还是有区别。小程序开发平台是基于nwjs环境,可能其所提供的回调函数的运行机制存在一定的漏洞。像我的情况中,明明已经回传数据和返回状态,但就是不进入任何一个回调函数处理业务逻辑,看来还是开发工具本身的问题。

      2018-08-14
      回复
    • 谦谦君
      谦谦君
      2018-08-14回复小飞

      嗯!我的也是已经回传了数据和返回状态,就是wx.request的success与fail回调函数没有返应。这种bug很无语的。

      2018-08-14
      回复
  • 谦谦君
    谦谦君
    2018-08-10

    其实我怀程序底层调用网络请求,验证域名ssl那块有问题的,因为我选上不验证域名立马就好了。反应到现实当中,有时候可以,有时候不可以。

    2018-08-10
    有用
    回复
  • ·.·
    ·.·
    2018-08-10

    应该是逻辑写的有问题吧?检查一下。或者服务器不够稳定

    2018-08-10
    有用
    回复 1
    • 谦谦君
      谦谦君
      2018-08-10

      就下面这一句话,没什么逻辑的。通过network看都是状态200,且有数据返回,就是不走success或者fail方法。

      wx.request({url:'https://real.monggol.top/article/index?pageNum=1&numPerPage=5',

      success:function(res){

      console.log("success")

      },

      fail:function(res){

      console.log("fail")

      }})


      2018-08-10
      1
      回复
登录 后发表内容