頻繁ajax請(qǐng)求導(dǎo)致頁(yè)面響應(yīng)變慢。于是考慮將數(shù)據(jù)存儲(chǔ)在window.storage中,這樣只請(qǐng)求一次ajax,而不需要頻繁請(qǐng)求。
鑒于localstorage中只能存儲(chǔ)字符串,所以我們要借助于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是外部定義的數(shù)組 storage = []}},error: function(){}});現(xiàn)在,我們將data存儲(chǔ)在了storage中,當(dāng)我們需要使用時(shí):
fucntion getData(){window.localStorage.job = JSON.stringify(storage); //將storage轉(zhuǎn)變?yōu)樽址鎯?chǔ)var job = JSON.parse(window.localStorage.job);for(var i = 0; i < job.length; i++){job[i] = JSON.parse(job[i]);}//此時(shí)job中存儲(chǔ)的就是對(duì)象數(shù)組了}本地存儲(chǔ)外,除了localStorage,還有sessionStorage.
(1)localStorage和sessionStorage都是用來(lái)存儲(chǔ)客戶端臨時(shí)信息的對(duì)象。
(2)localStorage和sessionStorage都只能存儲(chǔ)字符串類型的對(duì)象
(3)localStorage生命周期是永久,除非用戶手動(dòng)清除localStorage信息,否則這些信息將永遠(yuǎn)存在。
(4)sessionStorage生命周期為當(dāng)前窗口或標(biāo)簽頁(yè),一旦窗口或標(biāo)簽頁(yè)被永久關(guān)閉了,那么通過(guò)sessionStorage中存儲(chǔ)的數(shù)據(jù)也就被清空了。
(5)不同瀏覽器無(wú)法共享localStorage或sessionStorage中的信息。相同瀏覽器的不同頁(yè)面間可以共享相同的localStorage(頁(yè)面屬于相同域名和端口),但是不同頁(yè)面或標(biāo)簽頁(yè)間無(wú)法共享sessionStorage的信息。
以上所述是小編給大家介紹的在localStorage中存儲(chǔ)對(duì)象數(shù)組并讀取的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答