0

我正在创建一个小型网店。当我将产品添加到我的购物篮时,我只需将一个数据对象添加到一个 div li 中:

$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400', articlenr:'klr441234'});

只要我不重新加载页面,这就会很好。我的问题是,在 jquery 中缓存这些数据的最佳方式是什么,这样我就可以重新加载页面、离开页面 30 分钟以及您可以想出的其他内容。是向用户浏览器添加 cookie 还是 jquery 有其他方法来处理这个?感谢您的帮助。顺便说一句,如果 cookie 是解决方案,如果用户不接受 cookie 会怎样?

编辑

如果用户不接受它,那么尝试使用 cookie 是否是一个好的解决方案,然后对 web 服务进行 ajax 调用以在服务器端处理它并返回 json 数据?

最终编辑

好的,所以我将使用 cookie。现在我如何将 JSON 数据存储在 cookie 中?正如您在上面的代码行中看到的那样,我可能有许多具有多个值的产品。像这样:

$("#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 数据类型。有谁知道这是怎么做到的?

最好的问候马丁

4

4 回答 4

1

jQuery 是 JavaScript。

这意味着您受限于当前页面视图。

要将数据持久保存到网站,您可以

  • 使用 Sessions,但您需要一种服务器端语言,如 php、asp、ruby 等。
  • 存储cookies(如果用户不接受你什么都做不了..
  • 使用HTML5 localStorage,但浏览器支持有限
  • 以上的组合。
于 2010-11-18T13:51:24.723 回答
1

Cookie 是一种解决方案,但请记住,每次加载新页面时,存储在 cookie 中的信息也会发送到服务器。

如果用户不接受cookies。这根本行不通。

未来将有一个更好的解决方案等待我们使用HTML5 网络存储

于 2010-11-18T13:53:17.553 回答
0

整个页面加载本质上会“重置”您的 javascript。浏览器不会在页面加载之间保持 javascript 状态。您的选择是创建一个 cookie 或将此信息保存在服务器状态。这几乎是无状态网络的经典问题,只是不会记住。

我建议将 cookie 与将此缓存存储在服务器端结合使用。

于 2010-11-18T13:50:25.993 回答
0

您必须使用 cookie 和服务器端解决方案。如果您想使用 localStorage,我会选择 Lawnchair。

http://blog.westcoastlogic.com/lawnchair/

它很甜。

于 2010-11-18T13:57:54.290 回答