如何使用Angular $ http.post()更新JSON文件?

时间:2015-07-06 22:51:31

标签: javascript json angularjs

目前,我尝试做的只是在一个简单的JSON文件中读取,允许用户编辑内容,然后将其保存回同一个文件。我已经阅读了几个答案,例如this,但我没有处理表单数据或试图删除jquery而我的理解(可能是问题)是它不应该是那样的复杂。

解决this回答,这是我所拥有的:

<div ng-controller="myCtrl as items">
    <table>
        <tr ng-repeat="item in items.testData">
            <td><strong>Name:</strong></td>
            <td><input ng-model="item"></td>
        </tr>
    </table>
    <button ng-click="items.update()">Submit</button>
    <p>{{items.msg}}</p>
</div>

在app.js中:

(function() {
var app = angular.module("myApp", []);

app.controller("myCtrl", ["$http", function($http) {
    var list = this;
    this.testData = [];
    $http.get("test.json").success(function(data) {
        list.testData = data);
    });
    this.msg = "";

    this.update = function() {
        $http.post("test.json", list.testData);
        this.msg = "saved:" + JSON.stringify(list.testData);
    };
}]);
})();

最后是JSON,只是让你看到我所看到的:

[
"first item",
"second item",
"3rd item",
"And fourth"
]

我现在只在本地工作,因此我的服务器无法理解输出不会出现任何问题(如here所述)。我只是把JSON转到JSON。

现在,我的观察 -

  1. (最重要的) test.json 在更新()时永远不会改变,可能是因为
  2. 根据msg中的输出,
  3. testData似乎没有实际改变。我的ng模型有问题吗?它适用于above example
  4. 尝试发布到 test.json 没有错误,但如果我将目标设置为 test-new.json ,我会< strong>访问受限制的URI被拒绝。我真的不能写一个本地文件吗?
  5. 希望我说得对,这是值得的。我看到的其他任何东西似乎都没有回答我遇到的基本问题。非常感谢任何帮助。

0 个答案:

没有答案