在localStorage中存儲對象數組並讀取


頻繁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的信息。

 

【轉自https://blog.csdn.net/liuyan19891230/article/details/52638408】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM