注意,存在 localStorage里的数据都是字符传格式的,要使用JSON.parse转换。
思路如下:
1,读取缓存的数据,例如叫做data_cache
2判断data_cache,if(!data_cache){访问接口,获取数据data,将data字符串化JSON.stringify,存入local名字为data_cache,然后递归自身的函数名}
3 else 解析数据字符串,然后处理吧。
例如:
//获取一级分类数据,并保存到本地 function get1Category() { appcan.window.openToast("玩命加载数据中...", 20000, 5, 1); var data_cahe = getLocVal(‘get1Category‘); if(!data_cahe){ appcan.ajax({ url : apiUrl + ‘standard1Category.action‘, type : "GET", datatype : "json", timeout : 30000, ajaxCache: true, success : function(data, status, requestCode, response, xhr) { data2 = JSON.stringify(data); setLocVal(‘get1Category‘,data2); get1Category();//递归调用 }, error : function(xhr, erroType, error, msg) { appcan.window.openToast("获取一级分类数据失败", 1000, 5, 0); } }); }else{ //alert(data_cahe); data = JSON.parse(data_cahe); data = JSON.parse(data); if (data.code == ‘1‘) { var cate = data.data; var str = ‘‘; str += ‘<table class="ula tx-c" border="0" cellspacing="0" style="color:#fff;padding-right:1.75em;font-size:1.125em">‘ str += ‘<tr id="cate2" style="width:100%">‘ str += ‘<td><div class="btn2 title1 active1" id="index">推荐</div></td> ‘; for (var i = 0; i < cate.length; i++) { str += ‘<td><div class="btn1 title‘ + (i + 2) + ‘" onclick="goSc2(\‘‘ + cate[i].id + ‘\‘ ,\‘‘ + cate[i].name + ‘\‘,1)" >‘ + cate[i].name + ‘</div></td>‘; } str += ‘</tr>‘ str += ‘</table>‘ $(‘#scroller‘).html(str); nav_weight(); scrollX(); } } }
时间: 2024-10-07 17:10:32