getSessionData 获取会话数据
优质
小牛编辑
132浏览
2023-12-01
Since 8.1
getSessionData
会话数据读取
使用方法
AlipayJSBridge.call('getSessionData', {
keys: ['name']
}, function(result) {
console.log(result.data.name);
});
代码演示
session数据读写
<h2>点击下面按钮来查看效果</h2>
<a href="javascript:void(0)" class="btn btn-defualt set">设置session数据</a>
<a href="javascript:void(0)" class="btn btn-defualt get">读取session数据</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.set').addEventListener('click', function() {
AlipayJSBridge.call('setSessionData', {
data: {
name: 'Liu Hunan ' + Date.now(),
age: '15'
}
});
});
document.querySelector('.get').addEventListener('click', function() {
AlipayJSBridge.call('getSessionData', {
keys: ['name']
}, function(result) {
alert(JSON.stringify(result));
});
});
});
</script>
查看演示 扫码查看 用支付宝扫码运行入参
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
keys | array | 要读取的数据的key | Y | ||
fn | function | 回调函数 | N |
出参
回调函数带入的参数result: {data}
名称 | 类型 | 描述 |
---|---|---|
data | object | keys对应的字段数据 |
使用注意
sessionData
是以每个app为单位的,因此可以实现app内的数据共享。- 当app退出之后,数据自动清除。
没有办法去remove
sesionData
的key,只有通过设置一个空值来清除。假如用户账号在其他设备登入导致logout,那么并不会清除数据,这个时候如果这个设备登入另一个账号,是可以看到这个数据的。