没搞明白,cookie就是一个字符串,没什么主键子键之分啊。在服务器端之所有能做成一个哈希表形式,也只是因为服务器端程序把诸如
page=1
这样的cookie又分解了一遍,让你能用page这个键来得到1这个值。实际上原始的Cookie就是一个字符串,没别的了

解决方案 »

  1.   

    cookie赋值不是都一样吗? name1=value1;name2=value2;
      

  2.   

    javascript操作cookie的函数
    //添加一个cookie
    function addCookie(name,value,expireHours){
      var cookieStr=name+"="+escape(value);
      if(expireHours>0){   //为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date=new Date();
        date.setTime(date.getTime()+expireHours*3600*1000);
        cookieStr=cookieStr+";expire="+date.toGMTString();
      }
      document.cookie=cookieStr;
    }//获取指定名称的cookie值
    function getCookie(name){
      var strCookie=document.cookie;
      var arrCookie=strCookie.split("; ");
      for(var i=0;i<arrCookie.length;i++){
        var arr=arrCookie[i].split("=");
        if(arr[0]==name) return unescape(arr[1]);
      }
      return "";
    }//删除指定名称的cookie
    function deleteCookie(name){
      var date=new Date();
      date.setTime(date.getTime()-10000);
      document.cookie=name+"=c;expire="+date.toGMTString();
    }
      

  3.   

    我的意思是这样的:比如用ASP赋值可以这样写:
    response.cookies("aa")("bb")="123"就不知道用JS怎么写....因为COOKIE只能写20个主键,但每个主键下面可以写300个子键....每个主键4K大小.我现在有点东东要记在客户端,有点麻烦...不知道我说的明白不...
      

  4.   

    恕我孤陋寡闻了,还没见过js cookie 数组cookie根本就不能用数组的吧,cookie只是存在于客户端的一段字符串,类似“a=1;b=2;c=3;”用分号风格的赋值对,整个cookie最大4K,并不是你所说的每个4K。(若有错,请熟悉cookie的大侠指正)对于多维数组可以变更方法存储,比如用变量名区分维数(例如a1,a2,a3,b1,b2,b3,c1,c2,c3...)对于购物车,我通常的写法是另外一种方法:拼成字符串(例如"商品编号|数量,商品编号|数量,商品编号|数量,商品编号|数量"),读取的时候用split分开来,购物车里的数据通常都比较少,这样也比较适用、方便。另外提醒一下:
    1、采用cookie来保存购物车数据并不安全,因为cookie可以在客户端伪造,比如千万不能把价格也写到cookie里。
    2、cookie有4K的大小限制,注意不要溢出。
    我认为这是cookie不适用做购物车的两个原因,所以我通常用session来做购物车
      

  5.   

    居然没一个人明白按下面的格式设置应该OK了
    cookieName=子键名称1=子键值1&子键名称2=子键值2