2014-12-10 3 views
0

저는 AngularJS 앱에서 두 가지 원격 REST 서비스 (제어 할 수는 없지만)를 사용하고 싶습니다.AngularJS 앱에서 원격 휴식 서비스를 사용하십시오.

서비스 1 :POST 동사를 사용하여 HTTP 헤더의 자격 증명을 양식 데이터로 전달하여 자신을 인증하려면 다음을 수행하십시오.

서비스 2 :GET 동사를 사용하여 JSON 형식의 데이터를 가져 오려면 Chrome 개발자 콘솔에서 동일한 오류 메시지에 $http 또는 $ngResource 리드를 사용

:에

옵션 http://remote.service.com 순 :: ERR_EMPTY_RESPONSE

예 $ HTTP GET

$http.get('http://remote.service.com'). 
     success(function(data) { 
      $scope.greeting = data; 
     }); 

나는 이것이 J의 XSS 제한 때문이라고 생각한다. avaScript? CORS (원격 서비스를 통한 제어가 필요함) 및 JSONP (GET 만 해당)과 같은 솔루션을 고려했지만이 중 아무 것도 내 문제를 해결하지 못하므로 다른 솔루션의 팁을 찾으려고합니다.

내가 완전히 이해하지 못한 것은 내 로컬 컴퓨터에서 Chrome에서 REST 클라이언트 플러그인 (예 : POSTMAN)을 사용할 때 동일한 서비스에 대한 호출이 정상적으로 작동하는 이유입니다.

Express가 백엔드에서 NodeJS를 실행하고 있다면 도움이 될 것입니다.

+0

문제를 일으키는 코드는 어디에 있습니까? –

+0

안녕하세요, Matthey 님, 지금 게시글의 업데이트 된 코드 스 니펫을 참조하십시오. –

+0

OPTIONS는 실제 데이터 요청 전에 CORS 구성의 유효성을 검사하는 데 사용됩니다. 다른 도구가 CORS를 시행하지 않는다고 가정합니다. – James

답변

0

프론트 엔드 앱 (AngularJS 앱)에서 원격 REST 서비스를 직접 호출하는 대신 동일한 원본에서 백엔드 서비스를 호출하고 백엔드에서 원격 서비스 호출을 프록시로 호출하십시오. 이것은이 문제를 해결합니다.

관련 문제