2016-10-11 17 views
1

API呼び出しを試みています。AngularJS APIコール

var app = angular.module("testApp", []); 
app.controller("mCtrl", ["$scope", "$http", function($scope, $http) { 
    $http.jsonp("api.openweathermap.org/data/2.5/weather?q=London,uk&APPID={APIKEY}") 
     .success(function(data) { 
      $scope.data = data; 
      console.log($scope.data); 

     }); 
}]); 

404の応答が得られます。私はブラウザでアドレスを使用するときにデータにアクセスすることができます。

+0

これは役に立つかもしれませんhttp://stackoverflow.com/questions/12066002/parsing-jsonp-http-jsonp-response-in-angular-j s –

+0

リクエストURLに 'http://'がありませんか?ブラウザーのデバッガー・ツール(ネット/ネットワーク・タブ)を調べて、その要求がどこにあるかを確認します。私の賭けは、それをローカルのサーバ/ドメインへの相対URLとして扱うことになります。 – AndrewR

+0

あなたは 'http://'を忘れました。また、公開キーからAPIキーを削除する必要があります。 – RPGillespie

答えて

1

まず、あなたが代わりに$http.jsonp('...')

$http.get('...')を使用する必要がありそして第二に、あなたがルート

'http://...'を追加するのを忘れ正しい方法は、私は、それをそれをテストしてみた

$http.get("http://api.openweathermap.org/data/2.5/weather?q=London,uk&APPID=d21b99023992fadfa586d8c3589d0b8d") 
    .then(function(data) { 
    $scope.data = data; 
    console.log($scope.data); 
    }); 

ですうまくいくはずです

+0

Worked、ty、なぜjsonpにならないの? – Znowman

+0

技術的には使えますが、手間がかかり、シンプルなgetだけが必要ですが、[documentation](https://docs.angularjs.org/api/ng/service/$http#jsonp)ではそれだけの価値はありません。 – Mockingguy