2

私のウェブサイトには、jsonファイルに保存したいデータのフォームがあります。

フォームのコードは次のとおりです。

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

私のAngularコードは以下の通りです:

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', {}, {} );
}]);

問題は、データが保存されないことです。ここで何か不足していますか?ここに plunkr があります: http://plnkr.co/edit/gist:3662702

4

1 に答える 1

3

ngResource は、RESTful サーバー側のデータ ソースと対話するように設計された Angular サービスです ( ngResource docsを参照)。angular js チュートリアルは、バックエンド サーバーを必要とせずに誰でもダウンロードしてローカルで実行できるスタンドアロンの例であるため、ローカル JSON ファイルを参照する傾向があります。ただし、チュートリアルは JSON ファイルからデータを読み取るだけで、更新できないことに気付くでしょう。

クライアント側でデータを保存する場合は、LocalStorage ( http://diveintohtml5.info/storage.html ) を確認してください。

データ サーバー側を保存しようとしている場合は、いくつかのバック エンド サービスをセットアップする必要があります (NodeJS、PHP、.NET、Ruby、Python、および他の多くのフレームワークを介して..)

于 2013-08-26T14:03:23.960 に答える