javascript - 使用 AngularJS 保存修改后的 json 文件

标签 javascript json angularjs cordova

我正在使用 AngularJS 创建一个 phonegap 应用程序,它使用 .json 文件来存储条目数组。我的目标是允许用户将其中一些标记为收藏夹,然后在其他地方使用该数据(例如,另一个仅包含收藏夹的页面)。 第一次做 web 开发,我不得不说我对 AngularJS、JSON、PhoneGap 等 web 技术还很陌生(我正在使用它们),所以也许这个问题是胡说八道,但在这里我无论如何去。

我已经尝试将这些数据保存在 IndexedDB、WebSQL 数据库、WebStorage 中……但是这些方法与 PhoneGap 结合起来似乎很复杂,所以我现在正在尝试修改 . json 文件并保存修改后的文件。

我知道 JS 不能写文件,但我试图通过 POST 发送文件来填补这个空白。这是我正在使用的函数的代码:

$scope.save = function() {

    $http({
        method: 'POST',
        url: 'data.json',         //this is the json file with all the information I use
        data: $scope.json_data    //this contains the modified data
    }).success(function(response) {
        addLog("Success message.");
    }).error(function(response){
        addLog("Error message.");
    });
}

我不想写很多代码来处理请求服务器端(我什至不知道 PhoneGap 是否会处理那个...),因为老实说我什至不知道从哪里开始做那。我不知道 transformRequest 或其他简单的东西是否可以让我保存 json 文件......关于该做什么的任何见解?我应该用一些神奇的代码保存修改后的 .json 文件,还是我以错误的方式看待这个问题,应该走不同的路?

谢谢!

最佳答案

您有几个选项可以使用。

  1. HTML5 localStorage API。这可能是最简单的。它是基于键值的,具有字符串键和字符串值。它也非常便携。根据应用程序的简单程度,这可能是最好的。您可以将项设置为 window.localStorage 的属性或使用 getKey/setKey。网上有大量关于此的文档和教程。
    • 警告:在 Windows Phone 7 上,您不能使用点表示法。您必须使用后一种方法。
  2. 使用 Cordova 文件 API。它在操作系统之间的一致性不如 localStorage,但它仍然相当可靠。这是一个 link了解更多信息。
    • 注意事项:除了跨操作系统的不兼容性,您可能还必须将其安装为插件。命令如下:cordova plugin add org.apache.cordova.file

这里有一些有用的链接:

关于javascript - 使用 AngularJS 保存修改后的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25126673/

相关文章:

javascript - 如何将一个json数组插入到一个json中

javascript - Javascript无法从动态创建的表中检索数据

javascript - Angular 渲染元素但不显示数据

html - 使用 ng-classes 样式输入占位符颜色样式

javascript - $_SESSION 破坏 url 中的参数(在 Angular 项目中)

javascript - 使用 Angular 的 Node View 引擎

javascript - 使 enter 键的行为类似于 Javascript 中的 tab 键

javascript - 为什么在调用 ExtJS Grid Store Load 时执行了太多请求?

c# - JSON 到契约(Contract)或类?

php - 需要 Google Chrome 扩展程序中网站的文本