需求说明:需要在页面之间进行传值,但又无法直接通过在URL中拼接参数的方法获取。此时可以利用前端浏览器的一个属性cookie,将所需信息存放到cookie中,而后再获取利用,进行下一系列的操作。
设置、获取cookie的封装函数方法如下:
//将全局变量存入cookie,参数分别为key名称,key对应的value值,以及cookie的有效期
//有效期的单位是"天"
function setCookie(c_name,value,expiredays)
{
var exdate = new Date();
exdate.setDate(exdate.getDate()+expiredays);
//对value值进行编码
document.cookie = c_name + "=" + escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//从cookie中获取值
function getCookie(c_name)
{
if(document.cookie.length>0){
c_start = document.cookie.indexOf(c_name + "=");
if(c_start!=-1){
c_start = c_start + c_name.length+1;
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
setCookie("username","wlm","365");
//获取cookie
var username_val = getCookie("username");
注:上述设置、获取方法只能是存储和获取字符串,而不能是对象。即每次存储cookie,对应key的value值必须是单个的字符串。
以上。