这是我解决我自己的问题,根据意见:
好了,这是不可能的,因为通过一些评论提到张贴到本地文件,而是通过使用本地存储和JSON.stringify和JSON.parse的建议,该数据仍然可以在本地存储,如下所示:
function getServerData()
{
$.getJSON("js/servers.json").success(function (data)
{
// Add JSON to localStorage under serverData
localStorage.setItem("serverData", JSON.stringify(data));
// Do stuff
}
}
检索的时候,我发现,你必须首先获取数据,然后解析它放回一个JSON对象,像这样:
function retrieveData()
{
var temp = localStrage.getItem("serverData");
var jsonData = JSON.parse(temp);
// Do stuff with JSON data
}
另外,我了解到,作为应用程序安装在设备上,即使它被关闭或由用户手动停止了PhoneGap的应用localStorage的数据是持久的长。
我也检查,看看是否该数据通过这个if / else语句已经存在:
if (typeof (Storage) != "undefined")
{
if (!localStorage.getItem("serverData"))
{
alert("setting server data");
// Ajax JSON to get server information
getServerData();
}
else
{
retrieveData();
}
}
else
{
alert("localStorage unavailable!");
}
除非应用程序被打开,第一次安装后,此声明将通常两个IFS返回true。 我不建议使用本地存储任何JSON数据显示,如果数据可能是一个非本地Web服务来比从该应用程序的输入其他的东西而改变,因为这只是一个应用程序,我的原型概念证明。