鉴于localstorage中只能存储字符串,所以我们要借助于JSON.stringify()和JSON.parse();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$.ajax({
type:
"get"
,
async:
"true"
,
url:
""
,
data: {},
dataType:
"jsonp"
,
success:
function
(data){
if
(data
instanceof
Array){
stroage.push(JSON.stringify(data[i]));
//storage是外部定义的数组 storage = []
}
},
error:
function
(){
}
});
|
现在,我们将data存储在了storage中,当我们需要使用时:
1
2
3
4
5
6
7
8
|
fucntion getData(){
window.localStorage.job = JSON.stringify(storage);
//将storage转变为字符串存储
var
job = JSON.parse(window.localStorage.job);
for
(
var
i = 0; i < job.length; i++){
job[i] = JSON.parse(job[i]);
}
//此时job中存储的就是对象数组了
}
|
本地存储外,除了localStorage,还有sessionStorage.
(1)localStorage和sessionStorage都是用来存储客户端临时信息的对象。
(2)localStorage和sessionStorage都只能存储字符串类型的对象
(3)localStorage生命周期是永久,除非用户手动清除localStorage信息,否则这些信息将永远存在。
(4)sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么通过sessionStorage中存储的数据也就被清空了。
(5)不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。