2017-12-05 19 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); 

はfunction1を定義する必要があります。

+0

はい。関数式が持ち上がっています:) – Paka

0

VAR機能1 =関数(応答){$ scope.result =応答を以下としてみてください。 }ここで

関連する問題