HTML5 Web 存储
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()将对象进行解析。