2013-04-15 70 views
1

您好以下Ajax請求從服務器獲取JSON並將json存儲在我可以在我的應用程序中使用的localStorage中。看起來我的代碼完成這個效率不高,但我無法以其他方式工作。我曾嘗試將對象存儲爲對象,但似乎希望將其存儲爲字符串。使用localStorage來保存Ajax響應,然後用作對象

有沒有更好的方法來做到這一點?

//GET Users List from Server 
function getUsersList() { 
    $.ajax({ 
     url: "api/ListUsers", 
     dataType: "json", 
     success: function (e) { 

      localStorage.UsersList = (JSON.stringify(e)); 
      var usersList = localStorage.UsersList; 
      var usersList = $.parseJSON(usersList) 
      console.log(usersList[0]) 
     } 
    }); 
} 
+1

因爲[DOM存儲不會將它們存儲爲字符串(請參閱第二個註釋)。](https://developer.mozilla.org/en-US/docs/DOM/Storage#Storage)因此,要存儲對象,它們需要可序列化以存儲,並且可反序列化以檢索。 – Joseph

回答

0

只能存儲字符串在localStorage,但是你可以在一個可重複使用的功能創建序列化/反序列化過程的抽象。

看一看Storing Objects in HTML5 localStorage

此外,建議使用setItemgetItem方法。