2016-08-06 4 views
0

Angular SPA 응용 프로그램을 쓰고 있습니다. $ http.get 요청은 다음과 같습니다.

$http.get("http://localhost:8888/Treatments.php") 
      .then(function (response) { 
       $scope.treatments = response.data.records; 
      }) 
      .catch(function (response) { 
       console.log("Error: " + response.status); 
      }); 

정상적인 조건에서 작동합니다. 그런 다음 Auth0 서비스를 사용하여 사용자를 인증 할 때 문제가 발생합니다.

XMLHttpRequest cannot load http://localhost:8888/Treatments.php. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response. 

왜 이런 일이 될 것이다 어떻게 내가이 예상치 못한 문제를 해결 할 수있을 것입니다 : 성공적으로 로그인 한 후, 다음과 같은 오류는 $ http.get 요청이 만들어진 경우 콘솔에서 발생?

+0

PHP 측에서 처리해야합니다 – Sajeetharan

+0

@Sajeetharan이 내가 수집 한 것으로부터 PHP가 완벽하게 작동합니다. 그것은 올바른 $ 50.get 요청 자체에서 프리 플라이트 헤더와 관련이 있습니다. –

+0

오류는 CORS에서 발생합니다. CORS 구성에서 Authorization 헤더를 명시 적으로 허용해야합니다. CORS가 http://enable-cors.org/를 사용할 수 있는지 확인하십시오. – ShrekOverflow

답변

1

마지막으로 작동하도록했습니다. 문제는 CORS 허용 때문이었습니다. 이러한 요청을 허용하기 위해 단순히 .htaccess 파일에 다음 줄을 추가했습니다.

Header set Access-Control-Allow-Origin "*" 

이 문제가 모두 해결되었습니다.

관련 문제