2016-07-04 47 views
0

我目前正在開發一個從外部API獲取的Ionic應用程序。由於這個API也是由我自己開發的,所有東西都是本地的。該API返回一個JSON數組。離子錯誤獲取本地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. 

我不知道它是相關的,但Ionic正在服務端口8100和8080上的API。

任何想法,我該如何在本地進行測試?

回答

1

在您的瀏覽器中安裝並啓用CORS插件。

1

瀏覽器正在告訴你如何解決問題。由於您的API位於不同的端口,因此您需要發送「Access-Control-Allow-Origin」標題以及響應(服務器端)。您正在使用快遞假設,這將是這樣的:

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

甚至更​​好,你可以只使用一箇中間件:https://www.npmjs.com/package/cors