首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jquery将json数据对象保存在cookie中

jquery将json数据对象保存在cookie中
EN

Stack Overflow用户
提问于 2010-11-19 20:38:17
回答 4查看 164.7K关注 0票数 111

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

我的JSON数据如下所示

代码语言:javascript
复制
$("#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'});

我想做一些像这样的事情

代码语言:javascript
复制
var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());

为了检索我想要加载到$("#ArticlesHolder")的数据,如下所示

代码语言:javascript
复制
$.each($.cookie("basket-data"), function(i,e){
 $("#ArticlesHolder").data(i, e);
});

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-19 20:42:00

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

代码语言:javascript
复制
$.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));

然后从cookie中获取它:

代码语言:javascript
复制
$("#ArticlesHolder").data(JSON.parse($.cookie("basket-data")));

这依赖于JSON.stringify() and JSON.parse()来序列化/反序列化您的数据对象,因为旧的浏览器(IE<8)包括json2.js来获得JSON功能。此示例使用jQuery cookie plugin

票数 200
EN

Stack Overflow用户

发布于 2013-01-23 05:51:03

现在已经不需要显式地使用JSON.stringify了。只需执行这行代码

代码语言:javascript
复制
$.cookie.json = true;

在此之后,您可以将任何对象保存在cookie中,当读取cookie时,该对象将自动转换为JSON,并从JSON转换回来。

代码语言:javascript
复制
var user = { name: "name", age: 25 }
$.cookie('user', user);
...

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

但是JSON库并没有附带jquery.cookie,所以在jquery.cookie.js之前你必须自己下载它并将其包含到html页面中

票数 40
EN

Stack Overflow用户

发布于 2010-11-19 20:42:39

使用JSON.stringify(userData)将coverty json对象转换为字符串。

代码语言:javascript
复制
var dataStore = $.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));

为了从cookie中返回,可以使用JSON.parse()

代码语言:javascript
复制
var data=JSON.parse($.cookie("basket-data"))
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4225030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档