JavaScript Cookie ——0710

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。
而Cookie 是运行在客户端的,所以可以用JS来设置Cookie 。

一、什么是Cookie

Cookie 是一些数据, 存储于你电脑上的文本文件中(缓存用户信息到浏览器——本地文件)。

当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:

当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。

当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息。

Cookie 以键值对形式存储,即key=value的格式(如下所示)。每个键值对之间一般是以“;”分隔。
username=John Doe

二、使用 JavaScript 创建Cookie

JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。

JavaScript 中,创建 cookie 如下所示:

//创建一条cookie
    document.cookie = "user1=zhangsan;domain=localhost;expires=Mon, 13 Jul 2020 08:40:43 GMT;path=/";

上例中:
expires 为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除;
domain 设置该 cookie 所属的域名;
path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。

三、使用 JavaScript 读取 Cookie

document.cookie 将以字符串的方式返回所有的 cookie,类型格式: cookie1=value; cookie2=value; cookie3=value;

比如,获取上例中的cookie:

console.log(document.cookie);    //user1=zhangsan

获取上例中cookie对应的值:

console.log(document.cookie.split(";")[0].split("=")[1]);  //张三

将获取到的cookie以键:值的形式放到一个对象里边:

    var s = document.cookie;
    function parse() {
        var arr = s.split(";");
        var obj = {};
        for (var i = 0; i < arr.length; i++) {
            var t = arr[i].replace(/\s/g, "").split("=");
            obj[t[0]] = t[1];
        }
        return obj;
    }
    var cookie = parse();
    console.log(cookie);

四、使用 JavaScript 删除 Cookie

只需要设置该条cookie的 expires 参数为以前的时间即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值