Cookie的使用

本文深入解析Cookie的基本概念,包括其组成部分、如何创建、获取以及删除Cookie的方法,并讨论了Cookie的优点和局限性。

        Cookie也称HTTP Cookie,是随着Web的发展,开发者需要能够本地化存储的脚本能力产生。最初是客户端与服务器端进行会话使用。比如12306订票,抢上票之后没有及时付款45分钟之内有效。

        初步学习Cookie,我们先来了解它的组成(注意失效时间)、创建、获取、删除。

        1.Cookie的组成:

        由名/值对形式的文本组成:name=value。完整的格式是:

set-Cookie:name = value;[expirse = date];[path = dir];[domain = domainname];[secure]  

其中,name=value是必选的其他的可选。关于这Cookie的这五个属性的含义,简单地说:name=值、expirse=失效时间、path=访问路径、domain=域名访问、secure=安全的https限制通信,详细可以参考:http://blog.youkuaiyun.com/wangjingna/article/details/46687469

        注意: expirse = date 失效时间,如果没有声明,则为浏览器关闭后失效。如果声明时间则是时间到期后失效。

var date =new Date();  
date.setDate(date.getDate()+7);  //设置失效时间
document.cookie="user="+encodeURIComponent('黎卓玲')+";expries"+date;

        2.创建:

function setCookie(name,expires,path,domain,secure){
	var cookieText=encodeURIComponent(name)+'='+encodeURIComponent(value);
	if(expires instanceofDate){
		cookieText+=';expires='=expires;
	}
	if (path){
		cookieText
		cookieText+=';expires='=expires;
	}
	if (domain){
		cookieText
		cookieText+=';domain='=domain;		
	}
	if (secure){
		cookieText+=';secure';		
	}
	documain.cookie=cookieText;
}

        3.获取:

function getCookie(name){
	var cookieName=encodeURIComponent(name)+'=';
	var cookieStart=document.cookie.indexOf(cookieName);
	var cookieValue=null;
	
	if(cookieStart>-1){
		cookieEnd=document.cookie.length;
	}
	cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
	return cookieValue;
}

        4.删除:

//删除Cookie
function unsetCookie(name){
	document.cookie=name+"=;expires="+new Date(0);
}
//失效天数,直接传一个天数即可
function setCookieDate(day){
	if (type of day=='number' && day>0){
		var day =new Date();
		date.setDate(date.getDate+day);
	}else{
		throw new Error('传递的day必须是一个天数,必须必0大');
	}
	return date;
}

        学习一个知识点,需要了解它的优缺点才能更好的运用。Cookie的好处在于持久化、缓存信息,不至于让一次操作失误导致所有数据丢失等,人性化;也有它的局限性,可是被禁用和删除有浏览器的兼容问题。

        初步的学习还有许多要深入研究的,不足之希望多多指导。

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值