创建时间:2019-05-23
更新时间:1 分钟前
cookie 是 JavaScript 提供的一种本地存储机制,是存于硬盘某一位置的文本文件。以 win7 Chrome 为例,其 cookie 的存储位置为 C:\Users\yourUserName\AppData\Local\Google\Chrome\UserData\Default\Cookies
打开开发者工具,在 Application->Storage->Cookies 标签下,可以查看与网站相关的 cookie。
当 cookie 读 / 写时,会被对应地解码 / 编码。
.demo.com
,那么,对所有该域(例如域名为 api.demo.com
的后端接口)发送的请求,都会携带这个 cookie 信息。http://www.demo.com/login
,那么请求 http://www.demo.com/
的页面就不会发送 cookie 信息,即使请求都是来自同一个域的。https://www.demo.com
,而 http://www.demo.com
的请求则不能发送 cookie。创建 cookie
function setCookie(name, value, expiredate, domain, path, secure) {
var cookieText = escape(name) + "=" + escape(value);
if (expiredate) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredate);
cookieText += ";expires=" + exdate.toGMTString();
}
if (domain) {
cookieText += ";domain=" + domain;
}
if (path) {
cookieText += ";path=" + path;
}
if (secure) {
cookieText += ";secure";
}
document.cookie = cookieText;
}
提示
必须传入参数 name 和 value
根据 name 获取对应 cookie
function getCookie(c_name) {
if (document.cookie.length > 0) {
var c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
var c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
删除 cookie
function deCookie(name, value, expiredate, domain, path, secure) {
this.setCookie(name, "", new Date(0), domain, path, secure);
}
//创建名为name值为value,有效期为7天,路径为`/`的cookie
$.cookie("name", "value", { expires: 7, path: "/" });
//获取指定name的cookie,若找不到,返回 undefined
$.cookie("name"); // => "value"
$.cookie("nothing"); // => undefined
//获取所有有效cookie
$.cookie();
//删除指定cookie,删除失败返回false
$.removeCookie("name"); // => true
$.removeCookie("nothing"); // => false
//若创建某一cookie时设置了额外信息,删除时需要传入对应的额外参数
$.cookie("name", "value", { path: "/" });
// 删除失败
$.removeCookie("name"); // => false
// 删除成功
$.removeCookie("name", { path: "/" }); // => true
写入 json 数据:调用 JSON.stringify()
方法,将 json 数据转换为字符串,利用上面的 cookie 操作创建 cookie。
读取 json 数据:读取该 cookie 时,返回 json 字符串,调用 JSON.parse()
方法,解析为原 json 数据。