2016-07-04 1 views
0

현재 외부 API에서 가져 오는 Ionic App을 개발 중입니다. 이 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. 

을 내가 알고하지 않습니다 그것은 관련이지만, 이온 포트 8100에 제공되고 있으며,에 8080

어떤 생각에 API가 어떻게 로컬에서 테스트 할 수 있습니다?

답변

1

브라우저에 CORS 플러그인을 설치하여 사용하도록 설정하십시오.

1

브라우저에서 문제를 해결하는 방법을 알려줍니다. 다른 포트에서 API를 가지고 있기 때문에, 당신은 당신의 응답 (서버 측)와 함께 "액세스 제어 - 허용 - 원산지를"헤더를 보내야합니다. 당신은 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', '*'); 

또는 더 나은, 당신은 단지에 대한 미들웨어를 사용할 수 있습니다