• 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.插件的一个总结,希望能对你有所启发。

  • 相关阅读:
    关于 iOS 证书,你必须了解的知识
    Spark踩坑记:共享变量
    Python 操作 MySQL 的正确姿势
    【黑客浅析】像黑客一样思考
    利用 Flask+Redis 维护 IP 代理池
    程序员的江湖:从黑木崖到回龙观
    [NM 状态机1] Application状态机详解
    Hadoop 2.0 编译问题小结
    Yarn上的几个问题整理
    Yarn中如何生成状态机图
  • 原文地址:https://www.cnblogs.com/handboy/p/7158378.html
Copyright © 2020-2023  润新知