收藏
回答

getStorage在其他页获取不到

问题模块
API和组件

在登录页把登录信息存储在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',

            })

          }

        },

      })

  },

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

最后一次编辑于  2017-05-20  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 麦琪
    麦琪
    2017-05-20

    用wx.setStorageSyn和wx.getStorageSyn

    2017-05-20
    赞同
    回复
  • 小歆
    小歆
    2017-05-20

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


    2017-05-20
    赞同
    回复
  • ekong
    ekong
    2017-05-21

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

    2017-05-21
    赞同
    回复
  • Ace
    Ace
    2017-05-21

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

    2017-05-21
    赞同
    回复