2012-10-12 11 views
1

고객의 목록을 반환하는 간단한 ASP.NET WEBApi를 작성했으며 UI에 바인딩하려고합니다. 내 웹 API 컨트롤러 아래ng-repeat에 바인딩 할 수 없습니다.

찾기 :

public class DummyController : ApiController 
    { 
     public HttpResponseMessage Get() 
     { 
      List<Customer> customers = new List<Customer>(); 
      Customer customer = new Customer(); 
      customer.FirstName = "John"; 
      customer.LastName = "Doe"; 
      customers.Add(customer); 
      customer = new Customer(); 
      customer.FirstName = "Mike"; 
      customer.LastName = "Doobey"; 
      customers.Add(customer); 

      HttpResponseMessage result = null; 
      result = Request.CreateResponse(HttpStatusCode.OK, customers); 
      return result; 
     } 
    } 

각도 컨트롤러 : 내가 크롬에서 JSON 데이터를 볼 수 있어요

<body ng-controller="dummyCtrl"> 
    <div> 
     <ul> 
    <li ng-repeat = "person in dummy"> 
     <span>{{person.FirstName}}</span> 
     <span>{{person.lastname}}</span> 
    </li> 
     </ul> 
    </div> 
</body> 

:

<script type="text/javascript"> 
    function dummyCtrl($scope) { 
     $.getJSON("http://127.0.0.1:81/Api/dummy", function (resp) { 
      $scope.dummy = resp; 
      $scope.json = angular.toJson(resp); 
      console.log($scope.json); 
     }); 
    } 
</script> 

는 각도 컨트롤러를 실행 개발 도구는 있지만 브라우저에서 출력을 볼 수 없습니다.

[{"FirstName":"John","LastName":"Doe"},{"FirstName":"Mike","LastName":"Doobey"}] :81/:24 
[{"FirstName":"John","LastName":"Doe"},{"FirstName":"Mike","LastName":"Doobey"}] :81/:24 

내가 뭘 잘못하고 있니?

+0

당신이 범위'로 조사 할 수 있습니다 $ 적용()'. – Tosh

+0

$ .getJson을 사용하려면 $ scope 내에 코드를 래핑해야합니다. $ apply (fn) –

+2

당신이 만족하는 그의 응답 ID를 받아 들여야합니다. –

답변

4

$ digest를 자동으로 수행하는 XmlHTTPRequest를 중심으로 angularJS의 자체 Wrapper를 사용해야합니다. 그래서 여기에 코드를 변경 :

function dummyCtrl($scope, $http) { 
    $http.get("http://127.0.0.1:81/Api/dummy").then(function (resp) { 
     $scope.dummy = resp.data; 
     $scope.json = angular.toJson(resp.data); 
     console.log($scope.json); 
    }); 
} 

자세한 내용은 여기를 참조하십시오. Angular $http reference

+0

고마워 .. 그게 지금은 .. .. –

+0

또 어떤 이유로 jQuery의 XHR이나 다른 도구를 사용해야한다면 ... $ scope를 사용할 수있다. 성공 함수에서 $ apply()를 사용하여 업데이트한다. 모난. 가능한 경우 $ http를 사용하십시오. –

관련 문제