在localStorage中存储对象数组并读取的方法
2016-09-24 09:24
1066 查看
频繁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中存储对象数组并读取的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
- JS localStorage实现本地缓存的方法
- 详解JavaScript中localStorage使用要点
- 使用jquery读取html5 localstorage的值的方法
- android webview 中localStorage无效的解决方法
- 用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
- cookie解决微信不能存储localStorage的问题
- 利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
- 移动端使用localStorage缓存Js和css文的方法(web开发)
- JS中利用localStorage防止页面动态添加数据刷新后数据丢失
- 本地存储localStorage用法详解
相关文章推荐
- 通过更换硬盘舱位的方式解决存储问题
- Tomcat端口被占用解决方法(不用重启)
- “传奇”图象数据存储方式
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- 快速解决C# android base-64 字符数组的无效长度问题
- C# 拷贝数组的几种方法(总结)
- C#动态调整数组大小的方法
- 详解Lua中的数组概念知识
- Perl中的列表和数组学习笔记
- jQuery 判断是否包含在数组中Array[]的方法
- 浅谈C#各种数组直接的数据复制/转换
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- 超大数据量存储常用数据库分表分库算法总结
- Linux Shell 数组建立及使用技巧
- PowerShell数组的一些操作技巧