頻繁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中存儲對象數組并讀取的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答