2016-08-19 4 views
0

angle/ajax를 호출하여 API에서 값을 가져오고 결과를 기대하는 결과로 설정하려고합니다. 제안 제발 내 코드를 시도하지만, 내가 착각하고 어디는 두 번 호출 시간은 모르겠어anglejs를 사용하여 객체 형식으로 결과 얻기

$http.get('v1/res') 
     .success(function (data) { 

     $scope.results = []; 

     angular.forEach(data.data, function(value, key){ 
      $scope.results.push({id: value.id}); 
      $scope.results.push({text: value.name}); 

     }); 

     }); 

// 데이터를 얻는 당신을 위해 충분히 결과

$scope.results = [ 
    {id: 1, text: 'A'}, 
    {id: 2, text: 'B'}, 
    {id: 3, text: 'C'}, 
    {id: 4, text: 'D'}, 
    {id: 5, text: 'E'}, 
    {id: 6, text: 'F'}, 
    {id: 7, text: 'G'}, 
    {id: 8, text: 'H'}, 
    ]; 
+0

다음과 같이 할 수 원하는대로 당신은 API 호출에서 얻는 결과는 같은 객체 인 경우? –

+1

'$ scope.results.push ({ 'id': value.id, 'text': value.name});'? –

+0

당신이 지금하고있는 방식은 id와 text를 두 개의 다른 객체로 푸시합니다. –

답변

1

당신이 그때 당신은 단순히 당신이 얻고있는 결과입니다 무엇

//assuming that data.data is an array of objects that you wish for 
$scope.result = [] 
angular.copy(data.data, $scope.result) 

그렇지 않으면

$scope.result = [] 
data.forEach(function(d){ 
    $scope.result.push({"id":d.id, "text":d.text}); 
}); 
0

을 아닌가요 기대 data.data에서 원하는 것입니다. 원하는 값을 가진 개체이기 때문입니다. 당신이 기대하는 형식을 얻기 원하는대로

, 그것은 $scope.results에 저장된 속성으로 idtextobject해야하지만, 코드에서, 그들은 하나 개의 속성 개별 개체로 각각 저장되고있다. 그래서 코드는 다음과 같이 변경해야합니다 :

angular.forEach(data.data, function(value, key){ 
    $scope.results.push({id: value.id, text: value.name}); 
}); 

{id: value.id, text: value.name}는 내가 생각하는 당신의 $scope.results에 저장하고자하는 객체입니다.

관련 문제