js存储数据(cookie、token)

//每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:
document.cookie="userId=828";
//如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如:
document.cookie="userId=828; userName=hulk";
//在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。
document.cookie="str="+escape("I love ajax");//对特殊符号进行编码

//获取cookie的值,只能够一次获取所有的cookie值,而不能指定cookie名称来获得指定的值
var strCookie=document.cookie;
//示例js获取单个的值
<script language="JavaScript" type="text/javascript">
<!--
//设置两个cookie
document.cookie="userId=828";
document.cookie="userName=hulk";
//获取cookie字符串
var strCookie=document.cookie;
//将多cookie切割为多个名/值对
var arrCookie=strCookie.split("; ");
var userId;
//遍历cookie数组,处理每个cookie对
for(var i=0;i<arrCookie.length;i++){
             var arr=arrCookie[i].split("=");
             //找到名称为userId的cookie,并返回它的值
             if("userId"==arr[0]){
                    userId=arr[1];
                    break;
             }
}
alert(userId);
//-->
</script>

js设置cookie有效期

//如果要将cookie设置为10天后过期,可以这样实现:
<script language="JavaScript" type="text/javascript">
 //获取当前时间
var date=new Date();
var expireDays=10; //将date设置为10天以后的时间
date.setTime(date.getTime()+expireDays*24*3600*1000); //将userId和userName两个cookie设置为10天后过期
document.cookie="userId=828; userName=hulk;expire="+date.toGMTString(); 
</script>

runoob上的完整例子

function setCookie(cname,cvalue,exdays){
    var d = new Date();
    d.setTime(d.getTime()+(exdays*24*60*60*1000));
    var expires = "expires="+d.toGMTString();
    document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname){
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
    }
    return "";
}
function checkCookie(){
    var user=getCookie("username");
    if (user!=""){
        alert("欢迎 " + user + " 再次访问");
    }
    else {
        user = prompt("请输入你的名字:","");
          if (user!="" && user!=null){
            setCookie("username",user,30);
        }
    }
}

sessionStorage(临时存储数据)

// sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
// 存储
sessionStorage.setItem("lastname", "Smith");
// 检索
document.getElementById("result").innerHTML = sessionStorage.getItem("lastname");

localStorage(永久除非手动删除)

//判断浏览器是否支持localStorage
if(! window.localStorage){
    alert("浏览器不支持localstorage");
    return false;
}else{
    //主逻辑业务
}

// 存储
localStorage.setItem("lastname", "Smith");
// 检索
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
//删除
localStorage.removeItem("key");
localStorage.clear();//清空localStorage中所有信息

//处理json存取
var data = {
    test:"text",
    test1:"123456",
    test2:"字段值",
}
//存
localStorage.setItem("data", JSON.stringify(data));
//取
var data = localStorage.getItem("data");
data = JSON.parse(data);
最后编辑: admin  文档更新时间: 2021-03-16 21:50   作者:admin