2014-09-05 117 views
1

我剛開始學習Angular,現在我正忙於一個Web應用程序,它顯示了我從JSON中獲取的一些記錄。 JSON的樣子:AngularJS解析JSON

"results": [ 
    { 
    "easy": false, 
    "id": 1, 
    "title": "title", 
    } 
] 

我解析,關於這種方式(似乎是正確的我)

var app = angular.module("DB", []); 

app.controller("Controller", function($scope, $http) { 
    $http.defaults.headers.common["Accept"] = "application/json"; 
    $http.get('api_url'). 

    success(function(data, status, headers, config) { 
     $scope.thing = data.results; 
    }); 
}); 

所以,現在我在這個JSON文件,我需要得到ID(在此情況下,其1),並與該ID我需要做一個新的請求api.com/game/{id}以獲得有關第一個文件的結果更詳細的信息。

這樣做的最好方法是什麼?

+0

您應該用戶工廠或服務,讓您的API調用,然後注入工廠或服務到您的控制器。 – MohamedAbbas 2014-09-05 18:56:33

回答

1
$http.get('api.com/game/' + $scope.thing.id, function(...){ }); 

需要注意的是,您不必手動解析帶有角度的JSON。它會爲你做到這一點。所以data.results已經有表示你的迴應的對象。

0

我認爲這是好主意,如果你這樣做:

var app = angular.module("DB", []); 

     app.controller("Controller", function($scope, $http) { 
      $http.defaults.headers.common["Accept"] = "application/json"; 
      $http.get('api_url'). 

      success(function(data, status, headers, config) { 
       $scope.thing = data.results; 
       $scope.id=data.results[0].id; 
       gameInfo(); 
      }); 
     }); 

    var gameInfo=function(){ 
    $http.get('api.com/game/'+$scope.id). 

      success(function(data, status, headers, config) { 
       $scope.newThing = data; 
      }); 
    }