getStorage在其他页获取不到
发布于 5 年前 作者 zhouqiang 17715 次浏览 来自 问答

在登录页把登录信息存储在storage中,在其他页的onload方法中用getStorage获取不到里面的数据,怎么回事。

登录页代码

 wx.setStorage({

            key: ‘xh’,

            data: res.data.obj.user.loginname,

          })

需要数据的页代码

onLoad: function (options) {

    console.log(’ ------onLoad’)

    wx.getStorage({

        key: ‘xh’,

        success: function(res) {

          console.log(’+++++’+res.data+’++++++’)

          if(res.data == ‘’){

            wx.redirectTo({

              url: ‘…/login/login’,

            })

          }

        },

      })

  },

绿色的部分会执行,橙色的部分缺不执行

4 回复

开发工具在调试那里是可以查看本地缓存数据的(Storage),看看是否已经存进去了?另外,看你的代码:data: res.data.obj.user.loginname,这个里面的res是从哪里来的?貌似代码有点问题,数据或许没有存进去。至于是用异步还是同步函数,原则上都是可以的,视情况而定吧

已经解决了,页面跳转应该放在fail方法中,不应该写在success中,缓存中的key如果没有,不会执行success的方法

存取数据用同步的试一下,wx.setStorageSync 和 wx.getStorageSync

用wx.setStorageSyn和wx.getStorageSyn

回到顶部