使用Resources在Angular中的json文件中存储数据

时间:2013-08-26 13:32:15

标签: angularjs

我在我的网站上有一个表格我想要存储在json文件中的数据。

以下是表单的代码:

 <form>
    <input ng-model="obj.firstname">
    <input ng-model="obj.lastname">     
    <button ng-click="storedata()">Click here to store data</button>        
</form>

我的角色代码如下:

var myApp = angular.module('app', ['ui.bootstrap.dialog','ngResource']);

myApp.controller('TestCtrl', function($scope,$dialog,TestResource) { 
 $scope.obj = {};
 $scope.obj.firstname = "Mahatma";
 $scope.obj.lastname = "Gandhi";

 $scope.storedata = function() {
    console.log("Storing Data now");
    TestResource.save($scope.obj);
    console.log("Data should have been stored");
 }
});


myApp.factory('TestResource', ['$resource', function($resource) {
  return $resource('test.json', {}, {} );
}]);

问题是数据没有存储。我在这里错过了什么吗? 这是一个傻瓜:http://plnkr.co/edit/gist:3662702

1 个答案:

答案 0 :(得分:3)

ngResource是一种Angular服务,旨在与RESTful服务器端数据源进行交互(请参阅ngResource docs)。角度js教程倾向于引用本地JSON文件,因为它们是独立的示例,任何人都可以在本地下载和运行而无需后端服务器。但是你会注意到教程只读取JSON文件中的数据,他们无法更新它们。

如果您要保存数据客户端,请查看LocalStorage(http://diveintohtml5.info/storage.html)。

如果您正在尝试保存数据服务器端,则需要设置一些后端服务(通过NodeJS,PHP,.NET,Ruby,Python和许多其他框架......)