2016-07-04 2 views
0

現在、外部APIからフェッチするIonic Appを開発中です。このAPIも自分自身で開発されているため、すべてがローカルです。 APIはJSON配列を返します。Ionic ErrorローカルAPIをフェッチする

私の現在のコントローラは、以下のようになります。

app.controller('ListController', ['$scope', '$http', function($scope, $http){ 
     $http.get('http://localhost:8080/api/getPoi/merzouga').success(function(data){ 
     $scope.pois = data; 
    }); 
}]); 

問題は、私は私の見解にこれをロードしようとすると、私は次のエラーを取得することです:

XMLHttpRequest cannot load http://localhost:8080/api/getPoi/merzouga. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. 

私はかどうかを知りませんそれは関連していますが、ポート8100と8080のAPIにイオンが供給されています。

どうすればローカルでテストできますか?

答えて

1

ブラウザにCORSプラグインをインストールして有効にしてください。

1

ブラウザが問題の解決方法を教えています。 APIを別のポートに持っているので、あなたの応答(サーバー側)とともに「Access-Control-Allow-Origin」ヘッダーを送信する必要があります。あなたはExpressを使用していると仮定すると、それはこのようになります:https://www.npmjs.com/package/cors

res.header('Access-Control-Allow-Headers', 'Content-Type'); 
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); 
res.header('Access-Control-Allow-Origin', '*'); 

あるいは、より良い、あなたはちょうどそれのためのミドルウェアを使用することができます