Cookie 介绍

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到本地,当再次请求同一网站时,通过获取本地存储的Cookie发送给服务器(前提是浏览器设置为启用cookie)。
注意:在使用 jquery.cookie 时需要引入 jquery 库;
jquery cookie 下载地址 : https://github.com/js-cookie/js-cookie

Cookie 用法

一、 Cookie 的创建

  1. 新添加一个会话cookie:
    $.cookie(‘the_cookie_key’, ‘the_value’);
    注:当没有指明cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为“会话cookie(session cookie)”

  2. 创建一个cookie并设置有效时间为7天:
    $.cookie(‘the_cookie_key’, ‘the_value’, { expires: 7 });
    注:当指明了cookie有效时间时,所创建的cookie被称为“持久cookie(persistent cookie)”。

  3. 创建一个cookie并设置cookie的有效路径:
    $.cookie(‘the_cookie_key’, ‘the_value’, { expires: 7, path: ‘/’ });
    注:在默认情况下,只有设置cookie的网页才能读取该cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。
    cookie的路径用于设置能够读取cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取cookie(一般不要这样设置,防止出现冲突)

二、 Cookie 的获取和删除

  1. Cookie的获取
    $.cookie(‘the_cookie_key’);
    // cookie存在 => ‘the_value’
    // $.cookie(‘not_existing’);
    // cookie不存在 => null

  2. 删除cookie,通过设置null作为cookie的值即可:
    $.cookie(‘the_cookie_key’, null);

Cookie 基本参数说明
$.cookie(‘the_cookie_key’,‘the_value’, {expires: 7, path: ‘/’, domain:‘XXXX.com’, secure: true});
  1. expires: 7
    定义cookie的有效时间,值可以是一个(从创建cookie时算起,以天为单位)或一个Date。
    如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。

  2. path: ‘/’
    默认情况:只有设置cookie的网页才能读取该cookie。
    定义cookie的有效路径。默认情况下,该参数的值为创建cookie的网页所在路径(标准浏览器的行为)。
    如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: ‘/’。
    如果你想删除一个定义了有效路径的cookie,你需要在调用函数时包含这个路径:$.cookie(‘the_cookie’, null, { path: ‘/’ });。

  3. domain: ‘example.com’
    默认值:创建cookie的网页所拥有的域名。

  4. secure: true
    默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。

  5. raw: true
    默认值:false。 默认情况下,读取和写入cookie的时候自动进行编码和解码(使用encodeURIComponent编码,decodeURIComponent解码)。
    要关闭这个功能设置raw: true即可。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐