在客户端存储数据(localStorage)
localStorage本地存储
相对于上述本地存储方案,localStorage有自身的优点:容量大、易用、强大、原生支持;缺点是兼容性差些(chrome, safari, firefox,IE 9,IE8都支持 localStorage,主要是IE8以下版本不支持)、安全性也差些(所以请勿使用localStorage保存敏感信息)。 localStorage保存的数据,一般情况下是永久保存的,也就是说只要采用localstorage保存信息,数据便一直存储在用户的客户端中。即使用户关闭当前web浏览器后重新启动,数据让然存在。知道用户或程序明确制定删除,数据的生命周期才会结束。在安全性方面,localstorage是域内安全的,即localstorage是基于域的。任何在该域内的所有页面,都可以访问localstorage数据。
localStorage四种方法:
localStorage.getItem(key):获取指定key本地存储的值
localStorage.setItem(key,value):将value存储到key字段
localStorage.removeItem(key):删除指定key本地存储的值
localStorage.length是localStorage的项目数
前台往接口跑,返回[object object]。
此时需要往本地localStorage储存
注意:这个时候问题来了:
我们用的是此方法储存 localStorage.setItem(key,value);
因为后台返回的是一个[Object Object],
我们需要转成json格式存储,往下
localStorage.setItem ( key , angular.toJson(value) );
每次页面刷新的时候,都会跑app.js这个文件,此时我们需要在入口文件(app.js)加入此判断
//如果localStorage.user不为空,给rootscope.user赋值
if(localStorage.getItem("user") != null){
$rootScope.user = angular.fromJson( localStorage.getItem("user") );
}
注意:存储的时候以json格式存,取的时候也得转成对象,才可正常使用。