【发布时间】:2016-01-25 20:34:53
【问题描述】:
我已经多次看到这个话题被讨论过,但是在阅读了我在这个话题上看到的每一个答案后,我仍然感到困惑。
正如我之前的许多人一样,我正在尝试创建这个具有 CRUD 功能的基本待办事项应用程序。我有以下(删节以显示相关部分)代码:
HTML:
<div ng-repeat="item in items | orderObjectBy:sortby" ng-if="complete == 'N'">
<strong>{{item.title}}</strong><br/>
<em>{{item.details}}</em><br/>
{{item.due}}<br/>
<form>Mark Complete? <input type="checkbox" ng-model="item.complete" value="Y"></form>
<a href="#/item/edit/{{item.id}}">Edit this item</a>
<br/>
<hr/>
</div>
<button ng-click="save()">Save changes</button>
控制器中的JS:
$scope.save = function() {
$http.post('js/services/items.json', $scope.items).success(function(data) {
$scope.msg = 'Data saved' + JSON.stringify($scope.items);
});
};
当我选中“已完成”框,然后选中“保存更改”时,我得到了更新 JSON 的数据转储,但它从未真正更新服务器上的 JSON 文件。该路径与我最初用于获取 JSON 的确切路径相同。没有抛出任何错误。它根本不这样做。
我在这里错过了什么?
【问题讨论】:
-
呃,我很困惑...您希望将您的 json 数据发布到服务器会更新您的文件吗?基于什么前提?
-
执行 POST 请求的快捷方式是 post(url, data)。您是否为您的服务指定了正确的 URL?此服务 URL 是否期望接收 POST 请求?
-
我想这就是我所缺少的。根据我阅读的内容,我认为我可以使用 $http.post 并且它会更新服务器上的 JSON 文件。我现在要问的是,要让它真正发挥作用,我显然缺少什么步骤?