虽然这不是严格意义上的 Laravel 解决方案,但它是一种在客户端存储简单会话数据的相对简单且得到良好支持(与浏览器兼容)的方式。我使用 sessionStorage 来做到这一点。查看 sessionStorage 文档here。
示例 JS:
// Save data to sessionStorage
sessionStorage.setItem('cart', 'item_id');
// Get saved data from sessionStorage
let data = sessionStorage.getItem('cart');
// Remove saved data from sessionStorage
sessionStorage.removeItem('cart');
// Remove all saved data from sessionStorage
sessionStorage.clear();
购物车通常会存储几个不同的项目,而 sessionStorage 不存储数组,解决方法是使用 split(",") 将逗号分隔的字符串转换为数组。
例子:
//if cart has value of 11,12,13,14,15
var ex1 = sessionStorage.getItem('cart').split(',');
//ex1 would be [11,12,13,14,15]
//without split(',')
var ex2 = sessionStorage.getItem('cart');
//ex2 would be 11,12,13,14,15