jQuery将json数据对象保存在cookie中。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (236)

如何将JSON数据保存在cookie中?

我的JSON数据如下所示

$("#ArticlesHolder").data('15', {name:'testname', nr:'4',price:'400'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60'});

我想做些像

var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());

并检索我想要加载到的数据。$("#ArticlesHolder")就像

$.each($.cookie("basket-data"), function(i,e){
 $("#ArticlesHolder").data(i, e);
});

有没有人知道我是否在正确的轨道上,或者应该以其他方式来完成这件事?简单地说,如何从cookie中放置和提取json数据?

提问于
用户回答回答于

你可以将数据序列化为JSON,如下所示:

$.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));

然后从cookie中获取它:

$("#ArticlesHolder").data(JSON.parse($.cookie("basket-data")));
用户回答回答于

现在已经没有必要使用JSON.stringify明确的。只需执行这一行代码

$.cookie.json = true;

之后,你可以将任何对象保存在cookie中,在读取cookie时,它将自动转换为JSON并从JSON返回。

var user = { name: "name", age: 25 }
$.cookie('user', user);
...

var currentUser = $.cookie('user');
alert('User name is ' + currentUser.name);

但是JSON库没有提供jquery.cookie,所以你必须自己下载并包含在html页面中。

扫码关注云+社区

领取腾讯云代金券