layui.sessionData 是会话级键值存储,基于 sessionStorage,关标签页即清空;写入需指定 key,读取时传 key 返回解析后值,不传返回字符串化对象,删除单字段用 remove: true,删整表传 null。

layui.sessionData 存的是 sessionStorage,关掉标签页就清空,不是“临时缓存”而是“会话级键值存储”。它不支持过期时间、自动清理或跨标签共享,用错场景会导致数据莫名其妙消失或读不到。
写入数据时必须传 key 和 value,否则静默失败
很多人直接写 layui.sessionData('cart', {value: items}),结果什么都没存进去——因为 sessionData 的 settings 对象里 key 是必填字段,value 才是可选的。不带 key 就等于没指定存哪,框架内部会跳过写入逻辑。
- ✅ 正确:
layui.sessionData('cart', {key: 'items', value: [{id: 1, qty: 2}]}) - ❌ 错误:
layui.sessionData('cart', {value: [...]})(无key,不报错但不生效) - ⚠️ 注意:如果
value是对象或数组,会自动JSON.stringify后存入,不用手动序列化
读取时传 key 返回单个值,不传 settings 返回整个表
这是最容易混淆的点:读操作的参数形式决定了返回结构。传了 {key: 'xxx'} 就只拿那个字段;传 null 或空对象 {} 会返回整个 table 对应的扁平对象,但这个对象里的值仍是 JSON 字符串,需要自己 JSON.parse。
使用 Playwright 为 jimeng.jianying.com 管理浏览器会话,导入 cookies/localStorage 以自动化视频生成工作流,支持图片上传等功能
- 读单个字段:
layui.sessionData('cart', {key: 'items'})→ 自动解析成数组 - 读整张表:
layui.sessionData('cart')→ 返回{items: "[...]", total: "120"},其中total是字符串,需parseInt或Number - ⚠️ 别写
layui.sessionData('cart', {}),Layui 会把它当删除操作处理(源码里settings为 falsy 时走 remove 分支)
删除字段或整表要区分 remove: true 和 null
删单个字段靠 remove: true,删整张表得把 settings 设为 null。这两个参数不能混用,否则行为不可控。
- 删字段:
layui.sessionData('cart', {key: 'items', remove: true}) - 删整表:
layui.sessionData('cart', null) - ❌ 错误示范:
layui.sessionData('cart', {remove: true})(没key,实际什么都不会删) - ⚠️ 注意:
sessionData不提供类似clear()的批量清空接口,只能逐表删或等页面关闭
真正容易被忽略的是:它和 sessionStorage 原生行为完全一致——新开一个标签页访问同一地址,sessionData 里什么都没有;刷新页面则保留。如果你需要跨标签同步,得换 layui.data 或自己监听 storage 事件。

















