HTML5 Web 存储

来源:互联网 发布:淘宝卖死人衣服视频 编辑:程序博客网 时间:2024/06/05 17:58

HTML5 Web 存储

(1)cookie:
特点:通过键值对的形式存储数据
在本地浏览器上存储数据
有效期:未来的时间(expires)
存储数据的容量:<4kB
所有的http请求都会带上cookie信息。(联想http的get请求的可以传送的数据容量),从某种意义上来说,用cookie存储不是那么的安全。
(2)localStorage

2.1用法

2.1.1.保存数据

localStorage.setItem(key,value);
setItem(key,value)有两个参数,第一个参数存储数据的键名,第二个参数存储数据的值。

2.1.2获取数据

localStorage.getItem(key);
getItem(k),只有一个参数,该参数是获取数据的 键名。

2.1.3删除指定键名的数据

localStorage.removeItem(key);
removeItem(k),根据指定键名删除数据

2.1.4清除

localStorage.clear();
clear(),清除所有存储在localStorage里的数据
这里写图片描述
注意:key写具体的时候,要加” ”。
localStorage的保存期限没有时间的限制。
eg:

<form>    <label for="username">姓名</label>    <input type="text" id="username"/><br>    <label for="age">年龄</label>    <input type="text" id="age"/><br>    <button id="saveBtn">保存数据</button>    <button id="removeBtn">删除数据</button>    <button id="getBtn">获取数据</button></form></body><script src="../../jquery-1.9.1.min.js"></script><script>    //保存数据    $("#saveBtn").click(function(){        var userName = $("#username").val();        localStorage.setItem("user",userName);        var age = $("#age").val();        localStorage.setItem("age",age);    });    //删除数据    $("#removeBtn").click(function(){        //删除具体的某一个key值//        localStorage.removeItem("user");//        localStorage.removeItem("age");        //删除所有key里面的值        localStorage.clear();    });    //获取数据    $("#getBtn").click(function(){        var value = localStorage.getItem("age");        alert(value);    });</script>

(3)sessionStorage
用法和localStorage一样,不同的是sessionStorage存储数据的有效期仅对当前的浏览器(或页面)有效,一旦关闭,之前存储的内容就没有了。
(4)区别:
这里写图片描述
(5)存储对象

5.1 JSON.parse();将字符串转成对象。

5.2 JSON.stringify();将对象转成字符串。

5.3 解决问题

(1)localStorage/sessionStorage存数据
先将需要存储的对象–>字符串 JSON.stringify()
存储该字var information = new Object();
information.user = userName;
information.age = age;
//将对象转换成字符串
var str = JSON.stringify(information);
localStorage.setItem(“message”,str);localStorage/sessionStorage读数据
读取该字符串
读取的字符串–>对象 JSON

localStorage.setItem("message",str);//解析对象var result = JSON.parse(str);

Storage只能存储字符串,不能存储对象或数组,如果要存储的话,需要经过转化,可以通过JSON对象中的stringify()将对象转化成字符串,然后进行存储。同样的也可以通过JSON对象中的parse()将对象进行解析。