2014-03-02 6 views
0

나는 angularjs에 새로운입니다. 내 Web-Api 2 프로젝트에 요청을 보내려고합니다. 그러나 나는 왜 그것이 나의 방법을 지속적으로 부르는 지 이해하지 못한다. 나는 이것을 AngularJs $http에 따라왔다. 내가 당신이 달성하고자하는 것의 확인하기 위해 당신은 충분한 상황에 맞는 정보를 제공하지 않는Angularjs가 get 요청을 보낼 때 계속 메소드를 호출하는 이유는 무엇입니까?

<script src="~/Scripts/jquery-2.1.0.js"></script> 
<script src="~/Scripts/angular.min.js"></script> 
<script> 
    function loginCtrl($scope, $http) { 
     $scope.name = function() { 
      console.log("Add Call"); 
      $http({ method: 'GET', url: 'http://localhost:15229/api/values' }). 
      success(function (data, status, headers, config) { 
        console.log(data); 
       }). 
      error(function (data, status, headers, config) { 
       console.log(data); 
      }); 
     }; 
    } 
</script> 

<div lang="en" ng-app="" ng-controller="loginCtrl"> 
    {{name()}} 
</div> 

답변

1

: enter image description here

내 코드는 다음과 같습니다

여기 내 오류입니다. 특히 귀하의 API를 반환하는 것이 무엇인지 모르겠습니다. 그래서 나는 그것을 표시하고자하는 값을 반환한다고 가정합니다. 코드는 다음과 같이 보입니다.

function loginCtrl($scope, $http) { $scope.init = function() { console.log("Add Call"); $http({ method: 'GET', url: 'http://localhost:15229/api/values '}). 성공 (기능 (데이터, 상태, 헤더, 구성) { console.log (데이터); $ scope.name = 데이터; }). 오류 (기능 (데이터, 상태, 헤더, 구성) { console.log (data); }); };

<div lang="en" ng-app="" ng-controller="loginCtrl" ng-init="init()"> 
    {{name}} 
</div> 

} 당신은 성공 콜백에서 $ scope.name에 영향을 미칠 것이다.

이름은 함수가 아니라 변수 여야합니다.

그리고 ng-init 속성은 컨트롤러 설치시 호출 할 메소드를 정의합니다. 이 경우 컨트롤러의 init() 메소드를 호출합니다.

관련 문제