我正在尝试使用 HTML5 本地存储存储有关许多站点的一些详细信息,但我遇到了一些麻烦。
基本上,我希望应用程序能够离线缓存数据,并且我一直在开发它的方式,每次主页加载时,内容都被缓存为 localStorage.sitedata。我将其存储为 JSON。
我为其编写的代码如下所示:
// Retrieve response as JSON
response = $.parseJSON(data);
// Store the data in HTML5 local storage as well
var dataToCacheArray = new Array();
for(var item in response){
var obj = response[item];
dataToCacheArray.push(obj);
}
var dataToCache = JSON.stringify(dataToCacheArray);
localStorage.sitedata = dataToCache;
现在,dataToCacheArray 中的数据正是我想要的——它是一个包含许多 JavaScript 对象的数组。这是其中之一,如果我使用 console.log() 来查看 dataToCacheArray,如 Chrome 的开发人员工具中所示:
lastChecked: "13:46:55 Wednesday 15 August 2012"
siteId: "34"
status: "1"
success: "1"
url: "http://localhost"
之后,我将 dataToCacheArray 的字符串化版本存储为 dataToCache,如果我使用 console.log() 查看它,我会得到:
[{"status":"1","success":"1","siteId":"34","lastChecked":"13:46:55 Wednesday 15 August 2012"}]
如您所见,由于某种原因,URL 未包含在字符串化版本中。关于我可能在哪里出错的任何想法?