收藏
回答

如何解决小程序从后台切换到前台会自动重新操作执行过的function?

请问各位,我做了个小程序有多个页面,例如有个页面里面有个表单需要提交一些信息的。第一次是我自己主动提交表单,然后切换回首页做其他事情。这个时候接了个电话,或者按了 Home 键,然后重新打开微信小程序。小程序会自动再做一次提交表单,一切request过的都会重新再后台自动跑一次。请问这要如何解决,不要让系统自动做这些事?

追加一些图示:

app.js


index.js




onShow是空的,下载操作是通过wxml里面绑定一个 button的bindtap才会执行的。但是执行一次之后,当我按 Home键,再重新回到小程序,这个操作又会自动执行,每一次切换回前台,就会再执行。谢谢各位!

最后一次编辑于  11-22
回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    11-22

    新建一个空page来调试一下呗。

    11-22
    赞同 1
    回复 5
    • 乐Sir
      乐Sir
      11-22
      谢谢您的建议,我先新建一个page看看情况
      11-22
      回复
    • 乐Sir
      乐Sir
      11-22
      因为刚刚身边朋友问我试试看安卓机,我后来用安卓机测试过,同样的代码同样的方法,在安卓机上是没问题的。我用的是 iphone6 iOS13,就有这样的问题。
      11-22
      回复
    • 老张
      老张
      11-22回复乐Sir
      iPhone6啊?会不会是:因为缓存不够,小程序切到后台后被清除了,重新切换回来后,其实是重新加载了?
      11-22
      1
      回复
    • 乐Sir
      乐Sir
      11-22
      但是总不会那么奇怪,它自动重复做的事情是从开始使用直到切换后台之前一刻所做过的所有事哦。例如说,开始做过注册,登录,重置密码,提交表单……然后当我从后台回来之后,它会自己重新做一次 注册,登录,重置密码,提交表单……,所有做过的事所有表单的内容,一模一样重新做一次
      11-22
      回复
    • 乐Sir
      乐Sir
      11-22
      谢谢您,终于发现问题所在!之前客户要求要在和API交互之前要做一下网络环境的检查,如果网络不好或者没有网络要提示等等的。刚才发现应该就是那个检查网络环境的部分,造成的影响,我把那部分代码注释掉,就没了这个情况了!谢谢您!
      11-22
      回复
  • 少年啦
    少年啦
    11-22

    你不会是写在onShow里面吧

    11-22
    赞同
    回复 2
    • 乐Sir
      乐Sir
      11-22
      不是,我每个页面基本上onShow都没有东西,app.js里面也没有写 onHide和onShow事件
      11-22
      回复
    • 乐Sir
      乐Sir
      11-22
      我也追加了一些代码图片上来,麻烦你,谢谢
      11-22
      回复
问题标签