• JavaScript设置Cookie


    一、设置cookie
    每个cookie都是一个键/值对,可以把一个字符串赋值给document.cookie,如:document.cookie="userId=828";
    如果要一次存储多个键/值对,可以使用分号加空格(; )隔开,如: document.cookie="userId=828; userName=hulk";
    在cookie的键或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的键中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?

    方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值中,而且使用此种方案还可以避免中文乱码的出现。如: document.cookie="str="+escape("I love ajax");
    相当于: document.cookie="str=I%20love%20ajax";
    当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。

    尽管document.cookie看上去就像一个属性,可以赋不同的值。但它和一般的属性不一样,改变它的赋值并不意味着丢失原来的值,例如连续执行下面两条语句:
    document.cookie="userId=828";
    document.cookie="userName=hulk";
    这时浏览器将维护两个cookie,分别是userId和userName,因此给document.cookie赋值更像执行类似这样的语句:
    document.addCookie("userId=828");
    document.addCookie("userName=hulk");
    事实上,浏览器就是按照这样的方式来设置cookie的,如果要改变一个cookie的值,只需重新赋值,例如:
    document.cookie="userId=929";
    这样就将名为userId的cookie值设置为了929。
                   

                
    二、获取cookie的值
    下面介绍如何获取cookie的值。cookie的值可以由document.cookie直接获得:
    var strCookie=document.cookie;
    这将获得以分号隔开的多个键/值对所组成的字符串,这些键/值对包括了该域名下的所有cookie
                 
    <script language="JavaScript" type="text/javascript">
    <!--
    document.cookie="userId=828";
    document.cookie="userName=hulk";
    var strCookie=document.cookie;
    alert(strCookie);
    //-->
    </script>
    名称来获得指定的值,这正是处理cookie值最麻烦的一部分。用户必须自己分析这个字符串,来获取指定的cookie值,例如,要获取userId的值,可以这样实现:
                     
    <script language="JavaScript" type="text/javascript">
    <!--
    //设置两个cookie
    document.cookie="userId=828";
    document.cookie="userName=hulk";
    //获取cookie字符串
    var strCookie=document.cookie;
    //将多个cookie切割为多个键/值对
    var arrCookie=strCookie.split("; ");
    var userId;
    //遍历cookie数组,处理每个cookie对
    for(var i=0;i<arrCookie.length;i++){
             var arr=arrCookie[i].split("=");
             //找到名称为userId的cookie,并返回它的值
             if("userId"==arr[0]){
                    userId=arr[1];
                    break;
             }
    }
    alert(userId);
    //-->
    </script>

  • 相关阅读:
    如何用meavn构建mahout项目
    项目分析:对于7种图书推荐算法的组合评测
    项目实战:Mahout构建图书推荐系统
    Mahout推荐算法API详解
    9. Palindrome Number
    26. Remove Duplicates from Sorted Array
    575. Distribute Candies
    单链表的逆置
    回文串的判断
    回文判断(一个栈是不是回文)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2084292.html
Copyright © 2020-2023  润新知