2014-10-13 4 views
0

나는 다음과 같은 코드를 사용하여 각도 JS 컨트롤러에서 API에 액세스하려고 해요 :CORS 요청은 AngularJS와 함께 사용할 수 없습니다

$scope.getOperators = function() { 
    $scope.CSVData.forEach(function(entry) { 
     $http.defaults.useXDomain = true; 
     $http({ 
      url : 'http://api.pts.se/PTSNumberService/Pts_Number_Service.svc/json/SearchByNumberList?numbers=' + number, 
      method : 'get' 
     }).success(function(data, status, headers, config) { 
      console.log(data); 
     }); 
    }); 
}; 

을하지만 오류가 계속 :에서

XMLHttpRequest cannot load http://api.pts.se/PTSNumberService/Pts_Number_Service.svc/json/SearchByNumberList?numbers=76-3095686. Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin. 

을 내가 이해 한 바에 따르면 CORS 요청이 서버에서 활성화되어야한다는 것을 알지만, 요청은 클라이언트 측에서 전송됩니다.

내가 누락 된 항목이 있습니까?

+0

당신은 그 문제를 해결하기 위해 업무를 처리합니다. –

+0

의 리소스가 올바른 헤더를 보내야합니다. –

+0

서버 측에 "Access-Control-Allow-Origin"헤더가 없습니다. 여기를보십시오 : http://blog.bulte.net/12-24-2013/angular-wordpress-cors.html –

답변

1

서버 proivdes CORS 지원. 이 기능을 활성화해야합니다.

Access-Control-Allow-Headers: Content-Type 
Access-Control-Allow-Methods: GET, POST, OPTIONS 
Access-Control-Allow-Origin: * 

이상적으로 당신은 Access-Control-Allow-Origin 그냥 허용 할 또는 다른 사람이 원격 API에 액세스 할 수 있습니다/자신의 서버에서 해당 도메인으로 대체 할 것입니다.

+0

문제는 서버가 제 것이 아니라는 것입니다. 서버는'api.pts.se'이고 CORS를 활성화하지 않았을 것입니다. – siannone

+0

그런 경우에는 요청을 수행 할 수 없습니다. PHP를 통해 프록시해야합니다. –

관련 문제