在登录页把登录信息存储在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',
})
}
},
})
},
绿色的部分会执行,橙色的部分缺不执行
已经解决了,页面跳转应该放在fail方法中,不应该写在success中,缓存中的key如果没有,不会执行success的方法
开发工具在调试那里是可以查看本地缓存数据的(Storage),看看是否已经存进去了?另外,看你的代码:data: res.data.obj.user.loginname,这个里面的res是从哪里来的?貌似代码有点问题,数据或许没有存进去。至于是用异步还是同步函数,原则上都是可以的,视情况而定吧
存取数据用同步的试一下,wx.setStorageSync 和 wx.getStorageSync
用wx.setStorageSyn和wx.getStorageSyn