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