这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
频繁 ajax 请求导致页面响应变慢,所以考虑将数据存储在 window.storage 中,这样只需请求一次 ajax,接下来通过本文给大家介绍了在 localStorage 中存储对象数组并读取的方法, 需要的朋友可以参考下
频繁 ajax 请求导致页面响应变慢。于是考虑将数据存储在 window.storage 中,这样只请求一次 ajax,而不需要频繁请求。
鉴于 localstorage 中只能存储字符串,所以我们要借助于 JSON.stringify() 和 JSON.parse();
- $.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 中,当我们需要使用时:
- 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 的信息。
以上所述是小编给大家介绍的在 localStorage 中存储对象数组并读取的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 phperz 网站的支持!
来源: http://www.phperz.com/article/17/0602/331633.html