【发布时间】:2014-03-20 14:49:32
【问题描述】:
我正在开发一个 Phonegap 应用程序,使用 jQuery Mobile 下载有关服务器状态的 JSON 文件,出于测试目的,我使用保存到本地文件夹结构中的 JSON 文件。
我可以使用 jQuery $.getJSON 函数轻松读取文件并显示其数据,但我不确定如何使用 $.post jQuery 函数将该数据保存回文件中。
$.getJSON("js/servers.json") 可以完美地获取 JSON 数据(js/servers.json 存储在本地文件结构中)但是当我尝试 $.post("js/servers.json", jsonServerObj) 其中 jsonServerObj 是我使用 $.getJSON 得到的 JSON 时,数据没有似乎在页面重新加载时正确保存到文件中。
我的get函数:
$.getJSON("js/servers.json").success(function (data)
{
jsonServerObj = data;
// Do stuff with data
});
还有我的帖子功能:
JSON.stringify(jsonServerObj);
$.post("js/servers.json", jsonServerObj).success(function ()
{
alert("Data sent!");
})
.error(function ()
{
alert("UH OH ERROR!");
});
jsonServerObj 被设置为 JS 文件的全局变量,并且 post 函数每次都返回成功警报,但是当页面重新加载时,JSON 不是应该保存的。
作为参考,我正在运行 Android 4.3 的 Android HTC One 上进行测试
【问题讨论】:
-
您需要一个在本地运行的 Web 服务器。您的 http 客户端(浏览器或其他)可以访问本地系统以读取
GET,但不能写入POST。 -
或者您可以获取 JSON 对象,而不是将其存储在文件中,只需使用 localStorage。你必须
stringify和parse虽然使用 localStorage。如果您需要与文件交互,那么您可以查看File API 以写回文件。 -
好的,这很有道理。由于这仅用于测试目的,我认为 localStorage 将是正确的方法,但是当我可以访问 Web 服务器时,
$.post函数将正常工作,这是正确的吗?
标签: javascript android jquery json cordova