2017-12-05 4 views
0

각도를 사용하여 검색하려는 json : "https://api.github.com/users/angular", 더 정확하게 해당 json의 id 속성. 이 실패한 이유에 대한 어떤 생각 (디버그 모드에서 나는각도 응답이 정의되지 않았습니다

'응답이 정의되지 않은'수) :

<html ng-app="myViewer"> 
<head> 
<script data-require="[email protected]*" data-semver="1.2.25" src="https://code.angularjs.org/1.2.25/angular.js"></script> 
</head> 


<body ng-controller="MyController"> 
    {{ result.id }} 
    {{ err }} 
</body> 

<script type="text/javascript"> 
(function() { 

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

    var MyController = function($scope, $http) 
    { 
     $http.get("https://api.github.com/users/angular") 
     .then(function1, onerr); 

     var function1 = function(response) 
     { 
      $scope.result = response.data; 
     } 
     var onerr = function(reason) 
     { 
      $scope.err = "nightmare"; 
     } 

    } 

    app.controller("MyController", ["$scope", "$http", MyController]); 
}()); 

</script> 
</html> 

내가 id가되도록 결과를 기대 브라우저에서 해당 링크를 복사하여 볼 수 있습니다.

+0

당신은 MyController라고 이름을지었습니다 만, 당신은 거기에 부작용이있는 SecondController로서 var를 가지고 있습니다. – rrd

+0

고정되어 내 코드 및 stackoverflow에 대한 이름을 단순화하려고 할 때 오류가 발생했습니다 –

답변

1

는 작업 피들러 https://jsfiddle.net/paka2/8roj37q9/1/

angular.module("myViewer", []).controller("myCtrl", function($scope,$http){ 
this.result = {}; 
this.err ; 
     $http.get("https://api.github.com/users/angular") 
     .then(function1, onerr) ; 
    function function1 (response) 
    {  
     $scope.result = response.data; 
    } 
    function onerr (reason) 
    { 
     $scope.err = "nightmare"; 
    } 
}); 

는 희망이 도움을 것입니다!

0

내가 잘못 MYCONTROLLER으로 컨트롤러를 정의 생각이 시도하고 대신 SecondController해야한다 :

$http.get('https://api.github.com/users/angular').then(function(response){ 
    $scope.result = response.data; 
    }) 

은 같은 HTTP 호출이 아래 작업을 참조하십시오.

app.controller("MyController", ["$scope", "$http", SecondController ]); 
+0

내 코드 및 stackoverflow 명명을 단순화 할 때 오류가 발생했습니다 고정되어 있습니다. –

1

작품 나는 순서를 수정하는 경우 : 다음 그것을 호출하기 전에

var function1 = function(response) 
{ 
    $scope.result = response.data; 
} 
var onerr = function(reason) 
{ 
    $scope.err = "nightmare"; 
} 

$http.get("https://api.github.com/users/angular") 
.then(function1, onerr); 

기능 1이 정의되어야한다.

+0

예. 함수 표현이 게양되었습니다 :) – Paka

0

VAR 기능 1 = 기능 (응답) {$의 scope.result = 응답을 다음과 같이 시도; 여기}

관련 문제