2017-12-19 1 views
2

localhost에서 CORS 요청을해야합니다. Allow-Control-Allow-Origin Chrome 플러그인이 설치되어 있고 켜져 있으며 메뉴 항목 위로 마우스를 가져 가면 "Allow-Control-Allow-Origin : *"이 표시됩니다.은 localhost에서 cors 요청을해야합니다. 표준 솔루션이 예상대로 작동하지 않는 것 같습니다.

start chrome http://localhost:8080/MyPage.html --disable-web-security --user-data-di 

이 예상되는 URL에서 새로운 크롬 인스턴스를 엽니 다하지만, CORS 요청은 여전히 ​​다음과 같은 오류와 함께 실패합니다 :

Failed to load [rest-url]: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. 

당신은 어떤을 추천 할 수 나는 다음과 같은 내용으로 박쥐 파일을 만든 이것에 대한 해결 방법은 무엇입니까?

+0

디버깅 용인가요? 또한 원격 HTTP 또는 HTTPS입니까? –

+0

거래 플랫폼에 API를 호출하고 있습니다. 리모컨은 https입니다. 내가 유일한 사용자가 될 것이므로 내 로컬 컴퓨터에서 localhost로부터 API 호출을 할 계획이었습니다. 내 로컬 파일 시스템에서 html 페이지를 호스팅하기 위해 http-server npm 패키지를 사용하고 있습니다. – user8570495

답변

0

코드를 표시하고 사용중인 기술 등에 대해 더 자세히 알려 주실 수 있습니까? 예를 들어,

브라우저가 만드는 가정 :

은 누구 요는 "프리 플라이트"- 요청, 필요한 헤더를 포함하지 않는 프리 플라이트 요청 또는 원격 올바른 헤더를 반환하지 않습니다를 전송하지 것 같아 다음 헤더 요청 :

Origin: http://yourdomain.com 
Access-Control-Request-Method: POST 
Access-Control-Request-Headers: X-Custom-Header 

다음 헤더 응답해야합니다 서버 :

Access-Control-Allow-Origin: http://yourdomain.com 
Access-Control-Allow-Methods: GET, POST 
Access-Control-Allow-Headers: X-Custom-Header 

Credits to: @monsur

,

은 참조 : CORS - How do 'preflight' an httprequest?

Access-Control-Request-Headers 요구, 그렇지 않은 경우 실패 할 것이다 보내는 실제 요청 allong 모든 사용자 정의 헤더를 포함 할 수 있습니다. 적어도 나를 위해, 오류 메시지는 다소 모호하며 항상 올바른 방향을 가리 키지 않습니다.

관련 문제