cookie

一、cookie

  (一)什么是cookie:

    1、就是会话跟踪技术,存放在客户端浏览器中的一段文本信息

    2、会话:从浏览网站开始到结束的这个过程称为一次会话,浏览器关闭,表示会话结束

    3、会话跟踪技术:客户端向服务器请求数据,多次请求时,实现数据共享的过程,称为会话跟踪技术

    

  (二)cookie的存取

    1、document.cookie 取cookie

    2、document.cookie = "键 = 值";

  (三)字符串和对象类型的转换

    1、将字符串转成对象:JSON.parse();

    2、将对象转成字符串:JSON.stringify();

    拓展:encodeURIComponent();把字符串作为 URI 组件进行编码

       decodeURIComponent();编码的 URI 进行解码

  (四)cookie的生存期

    1、生存期:cookie数据在浏览器中保存的时间

      如果不设置生存期,浏览器关闭,表示会话结束,cookie数据自动删除

      如果设置生存期,浏览器关闭,cookie数据会保存在浏览器上,生存期内cookie不会自动删除

    2、如何设置生存期(需要expires参数)

      document.cookie = "键 = 值;expires = 过期时间(也就是date)" 过期时间格式:要求标准时间格式;

    3、如何设置根目录

      path = /;

  (五)删除cookie

    1、将某个键的值,设置为""或将生存期设置为-1

  (六)使用cookie需要注意

    1、cookie存储的数据安全性低

    2、cookie存储数据量小,最多存4KB数据,一般不能超过50个cookie

    3、cookie不能跨文件访问,在a目录下存储的cookie在b目录下不能访问到a中的cookie数据

    4、cookie参数:必须有一个键值对

  (七)如何封装cookie

    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function setCookie(key,value,newDate){
    var txtCookie = encodeURIComponent(key) + "=" +encodeURIComponent(value);
    if(newDate){
        var date = new Date();
        date.setDate(date.getDate() + newDate);
        document.cookie = txtCookie + ";expires=" + date + ";path=/";
    }else{
        document.cookie = txtCookie + "=" + value + ";path=/";
    }  
}//设置cookie
 
function getCookie(key){
    var str = document.cookie;
    if(str){
        var arr = str.split("; ");
        for(var i = 0,len = arr.length;i < len;i++){
            var newArr = arr[i].split("=");
            if(newArr[0] === encodeURIComponent(key)){
                return decodeURIComponent(newArr[1]);
            }
        }
        return "";
    }
    return "";
}//获取cookie
 
function removeCookie(key){
    setCookie(key,'',-1);
}//删除cookie
原文地址:https://www.cnblogs.com/huhuhuhuhuhu/p/10419022.html