jquery将json数据对象保存在cookie中
如何将 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 数据?
How do I save JSON data in a cookie?
My JSON data looks like this
$("#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'});
And I want to do something like
var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());
and to retrieve the data i want to load it into $("#ArticlesHolder")
like
$.each($.cookie("basket-data"), function(i,e){
$("#ArticlesHolder").data(i, e);
});
does anyone know if I'm on the right track or should this be done in some other way? Simply put, how do i put and pull json data from a cookie?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以将数据序列化为 JSON,如下所示:
然后从 cookie 中获取它:
这依赖于 < code>JSON.stringify() 和
JSON.parse()
来序列化/反序列化您的数据对象,对于较旧的浏览器 (IE<8) 包括 json2.js 来获取JSON
功能。此示例使用 jQuery cookie 插件You can serialize the data as JSON, like this:
Then to get it from the cookie:
This relies on
JSON.stringify()
andJSON.parse()
to serialize/deserialize your data object, for older browsers (IE<8) include json2.js to get theJSON
functionality. This example uses the jQuery cookie plugin现在已经不需要显式使用
JSON.stringify
了。只要执行这行代码就可以在cookie中保存任何对象,在读取cookie时会自动将其转换为JSON并从JSON返回。
但是JSON库没有附带jquery.cookie,所以你必须自己下载它并在 jquery.cookie.js 之前包含到html页面中
Now there is already no need to use
JSON.stringify
explicitly. Just execute this line of codeAfter that you can save any object in cookie, which will be automatically converted to JSON and back from JSON when reading cookie.
But JSON library does not come with jquery.cookie, so you have to download it by yourself and include into html page before jquery.cookie.js
使用 JSON.stringify(userData) 将 json 对象转换为字符串。
要从 cookie 中返回,请使用 JSON.parse()
use
JSON.stringify(userData)
to coverty json object to string.and for getting back from cookie use
JSON.parse()
将 JSON.stringify(userData) 返回的值保存到 cookie 并不是一个好习惯;它可能会导致某些浏览器出现错误。
在使用它之前,您应该将其转换为base64(使用
btoa
),并且在读取它时,从base64转换(使用atob )。
It is not good practice to save the value that is returned from
JSON.stringify(userData)
to a cookie; it can lead to a bug in some browsers.Before using it, you should convert it to base64 (using
btoa
), and when reading it, convert from base64 (usingatob
).将数据序列化为 JSON 和 Base64,依赖 jquery.cookie.js :
:)
With serialize the data as JSON and Base64, dependency jquery.cookie.js :
:)
试试这个:
https://github.com/tantau-horia/jquery-SuperCookie
只需使用:
Try this one:
https://github.com/tantau-horia/jquery-SuperCookie
Just use: