2017-03-14 10 views
0

は、私がこれまでのところ、私はここにポストデータは直接

var testAppApp = angular.module('testAppApp', []); 
testAppApp.controller('SimpleController', function ($scope, $http) { 
     $http.get('data/data.json') 
     .then(function(takeprocess) { 
      $scope.customers = takeprocess.data.records; 
     }); 
}); 

私のコントローラの私のJSON形式でJSONからデータを取得することに成功しましたが、まだAngularJSで新たなんだ

{ 
"records": [ 
{ 
    "Name": "Alfreds Futterkiste", 
    "City": "Berlin", 
    "Country": "Germany" 
}, 
{ 
    "Name": "Ana Trujillo Emparedados y helados", 
    "City": "México D.F.", 
    "Country": "Mexico" 
}, 
............ 
} 

私のindex.htmlを

<div ng-controller="SimpleController"> 
Search <input type="text" ng-model="filter.name" /> 
<ul> 
<li ng-repeat="cust in customers | filter:filter.name | orderBy:'No'"> 
{{$index +1}} - {{cust.Name}} - {{cust.City}} - {{cust.Country}}</li> 
</ul> 
Adding New Customer <br/> 
Name: <br/> 
<input type="text" ng-model="Name" /><br/> 
City: <br/> 
<input type="text" ng-model="City" /><br/> 
Country: <br/> 
<input type="text" ng-model="Country" /><br/> 
<button ng-click="addCustomer(Name, City, Country)">Add Customer</button> 
</div> 

Here my output

データを投稿するためにaddCustomer関数を作成し、JSONにデータを格納する(多分)が、私は関数をどのように作成するのかわかりません...多くの点で、angularJSはフロントエンドフレームワークですデータを直接JSONに保存しません。私の場合、新しいデータをリストに入れて永久保存することをお勧めします。

+0

JSONを直接保存することはどういう意味ですか?あなたはあなたが作成したJSONをバックエンドに送ることができますが、バックエンドは角度の一部ではありません - それは多くの言語で作成することができます。 AngularJSはフロントエンドのみ –

+0

技術的には、Webサーバーが[WebDAV](https://en.wikipedia.org/wiki/WebDAV)をサポートしている場合、これは可能ですが、これは巨大なセキュリティホールを開き、ほとんどのホスティング企業はそれらを開く。 –

+0

[httpリクエストとjavascriptを使用してhttpサーバにファイルを保存するにはどうすればよいですか?](http://stackoverflow.com/questions/2921558/how-can-i-save-a-file-on- http-server-using-just-http-requests-and-javascript) –

答えて

0

「データをJSONに保存する」と言うと、data.jsonファイルに直接挿入することを意味しますか?

「はい」の場合、Javascriptはフロントエンド言語であり、ホストするファイルシステムにアクセスできません。解決策は、Go、Node.JS、PHPなどのバックエンド言語を実行して、ポストリクエストを受け入れ、そのデータをdata.jsonに書き込むことです。

+1

あなたの答えをありがとう、それは私にポイントを作る。私は、PHPやanyJと組み合わせるような、ハイブリッドな方法で行うべきです。 – agnanzakariya

+0

これは、ホストしているマシン上のデータやホストしているサーバー上のデータベースを編集するために、すべてのWebアプリケーションが行うことです。 –

0

いいえ、投稿要求を使用してjsonデータをファイルに保存できません。ポストリクエストを使用すると、バックエンドサービスにデータを送信できます。そこから、データをデータベースまたはファイルに保存する必要があります。

データを角度でファイルに保存する場合は、ブロブファイルを作成してそのファイルにデータを保存するなど、全く異なる方法にアプローチする必要があります。ここにサンプルの例があります

var data = JSON.stringify(data, undefined, 2); 
var blob = new Blob([data], { 
    type: 'text/json' 
}); // data is your json data 
var e = document.createEvent('MouseEvents'), 
    a = document.createElement('a'); 
a.download = 'sample.json'; 
a.href = window.URL.createObjectURL(blob); 
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':'); 
e.initEvent('click', true, false, window, 
    0, 0, 0, 0, 0, false, false, false, false, 0, null); 
a.dispatchEvent(e);