我正在创建一个小型网上商店。当我将产品添加到我的购物篮时,我只需将数据对象添加到div li:
$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400', articlenr:'klr441234'});
只要我不重新加载页面,这就行得很好。我的问题是,在jquery中最好的方法是缓存这些数据,这样我就可以重新加载页面,让页面保持30分钟以及其他你能想到的东西。是向用户浏览器添加cookie还是jquery有其他方法来处理这个问题?感谢任何帮助。顺便说一句,如果cookie是解决方案,如果用户不接受cookie会发生什么?
修改
尝试使用cookie是一个很好的解决方案,如果用户dosnt接受,那么对web服务进行ajax调用以处理服务器端并返回json数据?
最终编辑
好的,我会使用cookies。现在我如何在cookie中存储JSON数据?正如你可以在上面的代码行中我可能有许多具有多个值的产品。像这样:
$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400',articlenr:'345345'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100', articlenr:'kltt444'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60', articlenr:'1235555'});
我需要循环每个数据字段并将其保存在新的JSON数据类型中。有谁知道这是怎么做的?
最诚挚的问候 Marthin
答案 0 :(得分:1)
jQuery是javascript。
这意味着您在当前页面视图中受限。
要将数据保存到网站,您可以
答案 1 :(得分:1)
Cookie是一种解决方案,但请记住,每次加载新页面时,存储在Cookie中的信息也会发送到服务器。
如果用户不接受cookie。这根本不起作用。
将来HTML5 web storage将会有更好的解决方案等待我们。
答案 2 :(得分:0)
整页加载本质上会“重置”您的javascript。浏览器不会在页面加载之间保持javascript状态。您可以选择创建cookie或将此信息保存在服务器状态。这几乎是无状态网络的经典问题,它不会记得。
我建议将cookie与在服务器端存储此缓存一起使用。
答案 3 :(得分:0)
您必须使用cookie和服务器端解决方案如果您希望使用localStorage,我会选择Lawnchair。
http://blog.westcoastlogic.com/lawnchair/
非常好。