cookie的格式,如何保存及获取以及其特点

cookie格式?

cookie就是一串字符串,格式就是键值对,分号隔开,三个属性可有可无。

cookieName=cookieValue;expires=GMTString;path=URLpath;domain=siteDomain cookie名称 cookie值 失效日期 可访问url 可访问主机

eg:

//写入7天后过期的cookie
var date=new Date();
date.setDate(date.getDate()+7);

//一个网站中可能会有很多网页都需要保存cookie。
同样是给document.cookie属性赋值。不会覆盖原来的cookie,只会追加(除非键是一样的)。

document.cookie="userName=zhang; expires="+date.toGMTString();
document.cookie="userPws=123456; expires="+date.toGMTString();

读取上边写入的cookie,因为cookie每次是全部获取,所以需要自己写解析cookie的代码。

var uname,upws;
var cookiearr=document.cookie.split("; ");
for(var i=0;i<cookiearr.length;i++){
    var coocieItem=cookiearr[i].split("=");
    if(coocieItem[0]=="userName"){
        uname=coocieItem [1];
    }
    if(coocieItem[0]=="userPws"){
        upws=coocieItem [1];
    }
}

获取cookie,只需要一句话:document.cookie

document.cookie=“cookieName=cookieValue”;//设置cookie

没有指定失效日期的cookie在浏览器关闭后就消失。

可访问url指定网站下能够访问cookie的路径。例:/shop 可访问主机指定可访问cookie的主机名。例:www.163.com和mail.163.com指定为163.com

注:失效日期由date.toGMTString()方法取得。

Cookie的特点

(1)cookie可能被禁用。

(2)cookie是与浏览器相关的。不同浏览器所保存的cookie也是不能互相访问的。

(3)cookie可能被用户删除。

(4)cookie安全性不够高。如果要保存用户名密码等信息时,最好事先经过加密处理。

(5)存储的数据量 4k 大小,cookie只支持存储string类型的数据。

(6)简单易用。

(7)信息存储于用户硬盘,因此可以作为全局变量。

cookie的增删改

添加与覆盖: 浏览器用cookie名称来区别cookie,添加不同名称cookie会一直续在前一个cookie后,同名的cookie会覆盖值。

删除cookie: 不能直接删除cookie,但是设置过期日期为过去,浏览器会删除cookie。

中文及特殊字符支持: 使用escape()函数编码cookie值,读取时使用unescape()函数解码。

判断cookie是否存在: document.cookie.indexOf(NameOfCookie+“=”); //使用字符串函数indexOf

例:document.cookie=“str=”+escape(“I love ajax”);相当于document.cookie="str=I%20love%20ajax";

JSON与字符串的互相转换

JSON.parse()【从一个字符串中解析出JSON对象】

例: var data='{"name":"goatling"}' JSON.parse(data) 结果是: {name:"goatling“}

JSON.stringify()【从一个JSON对象中解析出字符串】

例:var data={name:'goatling'} JSON.stringify(data) 结果是: '{"name":"goatling"}‘

猜你喜欢

转载自blog.csdn.net/Lydia11111/article/details/81511559