cookie中存储json

原文发布时间为:2009-12-14 —— 来源于本人的百度文章 [由搬家工具导入]

http://www.denisdeng.com/?p=563

最近的一个项目需要在cookie中存储json对象,查看网络资料,没有找到很好的例子,最终利用jquery.jsoncookie.js、jquery.cookie.js和json2.js完成了该项目的需求,在http://lab.distilldesign.com/json-cookie/有关于jquery.jsoncookie.js使用的一些简单的方法,而本人所提到的项目有以下的需求:

  • 用户可以将数据存储于cookie之中;
  • 用户也可以删除cookie中已经存在的对象;
  • 用户可以修改cookie中对象相应的属性值。

先看看js代码:

01. var jsonCookie = { 02.          jsonName: 'job' , 03.          jsonNum: 'num' , 04.          store: function (id,name,address){ 05.              var num = jsonCookie.getNum(); 06.              var json = jsonCookie.getJson(); 07.              if (!json[id]){ 08.                  json[id] = {}; 09.                  json[id].name = name; 10.                  json[id].address = address; 11.                  num++; 12.                  $.JSONCookie(jsonCookie.jsonName,json); 13.                  $.cookie(jsonCookie.jsonNum,num); 14.              } 15.          }, 16.          remove: function (id){ 17.              var num = jsonCookie.getNum(); 18.              var json = jsonCookie.getJson(); 19.              if (json[id]){ 20.                  delete json[id]; 21.                  num--; 22.                  $.JSONCookie(jsonCookie.jsonName,json); 23.                  $.cookie(jsonCookie.jsonNum,num); 24.              } 25.          }, 26.          modify: function (id,key,value){ 27.              var json = jsonCookie.getJson(); 28.              if (json[id]){ 29.                  json[id][key] = value; 30.                  $.JSONCookie(jsonCookie.jsonName,json); 31.              } 32.          }, 33.          getJson: function (){ 34.              var json = $.JSONCookie(jsonCookie.jsonName); 35.              return (json == null ) ? {} : json; 36.          }, 37.          getNum: function (){ 38.              var num = $.cookie(jsonCookie.jsonNum); 39.              return (num == null ) ? 0 : num; 40.          } 41. }

在jsonCookie 对象中,有两个属性:jsonName和jsonNum。

  • jsonName定义json对象的名字;
  • jsonNum定义json对象中存储的个数。

另外有五个方法。

  • store(id,name,address) 该函数将数据存储到cookie中,接受三个参数。当然,你可以自己根据需要来增加参数的数量。
  • remove(id) 该函数用来删除数据,接受一个参数。要删除对象的id;
  • modify(id,key,value) 该函数修改已存对象的属性值,接受三个参数。一个id和相应的要修改对象的名字和新的属性值;
  • getJson() 该函数获得cookie中的json对象;
  • getNum() 该函数取得cookie中存储的json对象中存储的数据长度。

查看demo

在未使用jquery.jsoncookie.之前,我想当然的认为cookie能保存json对象,但调试之后,我发现结果并非我所料。查看资料,发现cookie不能存储json格式的数据。后来通过搜索发现了这个jquery.jsoncookie插件。本文只是个人应用jquery.jsoncookie.插件的一个总结,希望能对你有所启发。

转载于:https://www.cnblogs.com/handboy/p/7158378.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值