簡體   English   中英

Java腳本從服務器(asp.net)獲取數據並將其保存在本地存儲(客戶端)中

[英]Java Script get data from server (asp.net) and save it in local storage (client side)

我從服務器端得到一個json對象。 但我無法將其保存在LocalStorage中! 這是在FireBug中的外觀: 如果看不清圖片,請嘗試在單獨的頁面中打開它們 (右鍵單擊並在新選項卡上單擊“打開”)

提前致謝 ! 響應標簽”

傑森·塔布

這就是我使用Ajax獲取數據的方式,但未在本地存儲中寫入任何內容

$.ajax(
       {
           type: "POST",
           url: "Default.aspx/loadGantt",
           contentType: "application/json; charset=utf-8",
           //data: "{taskId:" +taskId+ "}",
           data: "{}",
           dataType: "json",
           contentType: "application/json; charset=utf-8",

           success: function (response) {
               //console.debug(response);
                   var prj = response.d;
                   validatResult(prj)
                   if (localStorage) {
                       localStorage.setObject("teamworkGantDemo", prj);
                   } else {
                       $("#ta").val(JSON.stringify(prj));
                   }
                   //prj = response;
                   //validateResult(prj);

                   if (typeof (callback) == "function") {
                       callback(response);
                   }
                else {
                   jsonErrorHandling(response);
               }
           }
       });

</script>

當我將數據保存在localstorage(HTML5)中時,結果看起來像這樣,但是沒有發生: LocalStrage

您正在嘗試將對象放入localStorage更改

 localStorage.setObject("teamworkGantDemo", prj);

 localStorage.setItem("teamworkGantDemo", JSON.stringify(prj));

或簡單地

localStorage["teamworkGantDemo"] =  JSON.stringify(prj)

但是,如果您堅持要使用包裝器,可以這樣做:

Storage.prototype.setObject = function(key, value) {
    this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObject = function(key) {
   return JSON.parse(this.getItem(key));
}

然后以這種方式使用它:

 localStorage.setObject("teamworkGantDemo", prj);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM