在localStorage中存储对象数组并读取的方法
频繁ajax请求导致页面响应变慢。于是考虑将数据存储在window.storage中,这样只请求一次ajax,而不需要频繁请求。
鉴于localstorage中只能存储字符串,所以我们要借助于JSON.stringify()和JSON.parse();
$.ajax({ type:"get", async:"true", url:"", data:{}, dataType:"jsonp", success:function(data){ if(datainstanceofArray){ stroage.push(JSON.stringify(data[i]));//storage是外部定义的数组storage=[] } }, error:function(){ } });
现在,我们将data存储在了storage中,当我们需要使用时:
fucntiongetData(){ window.localStorage.job=JSON.stringify(storage);//将storage转变为字符串存储 varjob=JSON.parse(window.localStorage.job); for(vari=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的信息。
以上所述是小编给大家介绍的在localStorage中存储对象数组并读取的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!