cookie

会话:他的出现就是为了一个问题 - http无状态
登陆页面,登陆了用户名,跳转到首页,首页应该保持登陆的状态

 

会话解决问题的原理:利用多次请求都在同一个浏览器上,给浏览器开辟一个空间,用来存储数据

 

cookie:会话的一种,会话中存储在客户端的一种
 

setcookie

document.cookie = 键值对

 document.cookie = 'name=songjiang';
var date = new Date();
 date.setTime(date.getTime()+7*24*3600*1000-8*3600*1000);
// // cookie只能识别世界标准时间,获取到的date是中国东八区的时间
 document.cookie = 'age=12;expires='+date+";path=/"; // 设置失效时间

 

cookie的特性:

1.cookie是以键值对的形式去存储的
2.cookie是以域名的形式存储的 - 当前域名下设置的只能在当前域名下使用
3.cookie是有时效性 - 默认的有效期是当前浏览器关闭就消失
4.cookie是分文件夹存储的 - 当前文件夹下设置的cookie,只能在当前文件夹下使用
 

setcookie封装的函数

function setCookie(key,value,seconds,path="/"){
    var date = new Date();
    date.setTime(date.getTime()+seconds*1000-8*3600*1000);
    document.cookie = `${key}=${value};'expires'='${date}';'path'='${path}'`
}

setCookie('username','张三',7200)
setCookie('name','张三',24*7*3600)
setCookie('age',20,7200)

setCookie('age',200,7200);//修改增加的cookie

获取cookie的值封装的函数

function getCookie(key){
    var arr = document.cookie.split('; ')
    for(var i=0;i<arr.length;i++){
        var brr = arr[i].split('=')
        if(brr[0]==key){
            return brr[1];
        }
    }
}

删除cookie

function setCookie(key,value,seconds,path="/"){
    var date = new Date();
    date.setTime(date.getTime()+seconds*1000-8*3600*1000);
    document.cookie = `${key}=${value};expires=${date};path=${path}`
}
function removeCookie(key,path="/"){
    setCookie(key,null,-1,path)
} 

 

解码

var n = decodeURI(name)
console.log(n);

编码

var str = "王五";
str = encodeURI(str)
console.log(str);

 

posted @ 2021-01-26 16:54  技术活当赏  阅读(83)  评论(0)    收藏  举报