2016-10-28 6 views
0

AngularJSを使用してREST APIリンクからJSONデータを取得しようとしていますが、コントローラでHTTP GET呼び出しを行った後にデータをプルすると混乱します。 。anglejsを使用して複合JSONからデータを取得する

複雑なJSON:配列内のオブジェクト内のオブジェクト配列内のオブジェクト内のオブジェクト内のオブジェクト。

私はこの階層をREST APIで変更することはできません。

私は次のようにしましたが、何も返しません。

<html> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script> 
    <script> 
     var app = angular.module('myApp', []); 
     app.controller('myCtrl', function($scope, $http) { 
      $http.get('http://citysdk.dmci.hva.nl/CitySDK/events/search?category=festival') 
      .then(function(response) { 
       $scope.myData = response.data; 
      }); 
     }); 
    </script> 
<body> 
    <div ng-app="myApp" ng-controller="myCtrl"> 
     <table> 
      <tr ng-repeat="data in myData"> 
       <td>{{data.event.location.point.point.posList}}</td> 
       <td>{{data.event.location.point.point.srsName}}</td> 
       <td>{{data.event.location.point.term}}</td> 
       <td>{{data.event.location.relationship.targetPOI}}</td> 
       <td>{{data.event.location.relationship.term}}</td> 
       <td>{{data.event.location.relationship.base}}</td> 
       <td>{{data.event.label.term}}</td> 
       <td>{{data.event.label.value}}</td> 
       <td>{{data.event.label.lang}}</td> 
       <td>{{data.event.description.value}}</td> 
       <td>{{data.event.description.lang}}</td> 
      <tr> 
     </table> 
    </div> 
</body> 
</html> 

答えて

1

私のCORSについての以前の投稿は間違っていました。ヘッダーが存在していた。

あなたには2つの間違いがありました。

$scope.myData = response.data; 

は、第二の問題は、あなたが間違って返されたデータにアクセスしていたさ

$scope.myData = response.data.event; 

する必要があります。

<td>{{data.location.point[0].Point.posList}}</td> 
    <td>{{data.location.point[0].Point.srsName}}</td> 
    <td>{{data.location.point[0].term}}</td> 
    <td>{{data.location.relationship[0].targetPOI}}</td> 
    <td>{{data.location.relationship[0].term}}</td> 
    <td>{{data.location.relationship[0].base}}</td> 
    <td>{{data.label[0].term}}</td> 
    <td>{{data.label[0].value}}</td> 
    <td>{{data.label[0].lang}}</td> 
    <td>{{data.description[0].value}}</td> 
    <td>{{data.description[0].lang}}</td> 

console.log()を使用して応答を出力し、正しい変数にアクセスしていることを再度確認します。

+0

あなたは上司です – ahmdabos

関連する問題