利用HTML5新特性localstorage把用户数据暂时存储在客户端,用于之后上传
来源:互联网 发布:新浪网络经纪人 编辑:程序博客网 时间:2024/05/01 08:21
最新的JS的API中增加了localStorage对象,以便于用户存储永久存储的Web端的数据。而且数据不会随着Http请求发送到后台服务器,而且存储数据的大小机会不用考虑,因为在HTML5的标准中要求浏览器至少要支持到4MB.所以,这完全是颠覆了Cookie的限制,为Web应用在本地存储复杂的用户痕迹数据提供非常方便的技术支持。那接下里分别介绍一下localStorage的常用的方法。
localStorage提供了四个方法来辅助我们进行对本地存储做相关操作。
- (1)setItem(key,value):添加本地存储数据。两个参数,非常简单就不说了。
- (2)getItem(key):通过key获取相应的Value。
- (3)removeItem(key):通过key删除本地数据。
- (4)clear():清空数据。
代码:
1.存入localstorage部分
var local_key=""+dd.getFullYear()+dd.getMonth()+dd.getDate()+dd.getHours()+dd.getMinutes()+dd.getSeconds();//用日期时间作为唯一keyvar local_val=$localStorage.user.USER_CODE+","+$scope.v_khbh+","+$scope.dfhm+","+$scope.thsc+","+$scope.lywjmc+",3,"+$scope.hjlx+",0,0,"+$scope.v_lshs+","+$scope.rq+","+$scope.sj;//数据用逗号隔开,拼成字符串,作为valuelocalStorage.setItem(local_key,local_val);//存入localstorage中2.取出localstorage部分
function local_do(){//取出localstorage中的数据,符合条件的上传到后台数据库匹配var local_key,local_val;var local_array=new Array();for(i=localStorage.length-1;i>=0;i--){//从后往前依次取每条localstoragelocal_key=localStorage.key(i);if(local_key.length>8 && !isNaN(local_key))//key名大于8位且是数字{local_val=localStorage.getItem(localStorage.key(i));local_array=local_val.split(",");//以逗号隔开的数据放入各自数组$scope.local_ygbh = local_array[0];$scope.local_khbh = local_array[1];$scope.local_dfhm = local_array[2];$scope.local_thsc = local_array[3];$scope.local_lywjm = local_array[4];$scope.local_mtlx = local_array[5];$scope.local_hjlx = local_array[6];$scope.local_kzbs = local_array[7];$scope.local_sfzyth = local_array[8];$scope.local_lshs = local_array[9];$scope.local_rq = local_array[10];$scope.local_sj = local_array[11];//alert(local_val);//POST到数据库myHttp.post({req : {service : 'P9999999',bex_codes : 'insertzxthlskandkhmx',v_ygbh : $scope.local_ygbh,v_khbh : $scope.local_khbh,v_dfhm : $scope.local_dfhm,v_thsc : $scope.local_thsc,v_lywjm : $scope.local_lywjm,v_mtlx : 3,v_hjlx : $scope.local_hjlx,v_kzbs : '0',v_sfzyth : 0,v_lshs : $scope.local_lshs,v_rq : $scope.local_rq,v_sj : $scope.local_sj}}).then(function(data) {var info = data.msg;if (!isNaN(info[0].code)) {// 查询到结果localStorage.removeItem(localStorage.key(i));//删除此条数据 }});};};};
参考链接:
http://www.cnblogs.com/fly_dragon/p/3946012.html
http://blog.sina.com.cn/s/blog_6aaf309f01015k1w.html
0 0
- 利用HTML5新特性localstorage把用户数据暂时存储在客户端,用于之后上传
- HTML5 在客户端存储数据
- [HTML5]数组数据localStorage存储
- 客户端数据存储 localStorage sessionStorage
- HTML5客户端存储之 LocalStorage 和 SessionStorage
- ajax利用html5新特性带进度条上传文件
- ajax利用html5新特性带进度条上传文件
- HTML5存储数据--localStorage长期保存数据
- HTML5客户端数据存储Web Storage——localStorage与sessionStorage
- HTML5客户端数据存储Web Storage——localStorage与sessionStorage
- HTML5 LocalStorage 本地存储JSON数据
- HTML5 LocalStorage 本地存储JSON数据
- HTML5中的数据存储localStorage和sessionStorage
- HTML5 LocalStorage 本地存储JSON数据
- HTML5 Web存储数据(localStorage,sessionStorage)
- 将对象存储在HTML5 localStorage中
- html5新特性-----离线存储
- HTML5自学手册--HTML5在客户端存储数据(11)
- 5-31 字符串循环左移
- VS2013 EF6连接MySql需要几步?
- B-Cracking the Code
- java在定义的时候初始化和在构造器中初始化有何差异
- $smarty->display('index2.tpl');
- 利用HTML5新特性localstorage把用户数据暂时存储在客户端,用于之后上传
- 聊天
- web前端2016-3-5
- 世界末日
- iOS--链式编程
- 移动文件导致报错
- Activity的生命周期(四)——多个Activity相互交互的生命周期
- 【周练3016.3.5】老王修马路(一)(水)
- VS2013使用EF6与mysql数据库