2013-10-26 1 views
0

내가 AJAX 호출이 다음 CORS (나는 현재 크롬의 최신 버전을 사용하여 테스트입니다) 웹 서버로 요청을 실행하기 위해 노력하고 있습니다 한편CORS 성공하지 AJAX 전화

var xhr = new XMLHttpRequest(); 
xhr.open("get", "http://www.web_server_url.com/query", true); 
xhr.onload = function(){ 
}; 
xhr.send(null); 

을, 나는 아직도이다 다음 메시지가 나타납니다.

XMLHttpRequest cannot load http://www.web_server_url.com/query. Origin http://localhost is not allowed by Access-Control-Allow-Origin. 

내가 누락 된 부분을 알고 있습니까?

답변

1

이유는 정확하게 오류에서 다음과 같습니다. www.web_server_url.com의 서버가 localhost의 출처를 허용하지 않습니다. 전화의 출처를 허용할지 여부는 서버가 결정합니다. 이 경우 분명히 허용되지 않습니다.

방법으로 CORS이 작동하면 서버는 브라우저가 전송 한 정보를 기반으로 원점을 허용하거나 허용하지 않는 헤더가있는 요청 (또는 "프리 플라이트"요청)에 응답합니다.

+0

감사합니다. T.J. 내 요청이 하나이기 때문에 어떤 프리 플라이트 된 매개 변수를 사용해도 아무 것도 바뀌지 않을 것입니다, 맞습니까? 서버는 Google 트렌드 서버입니다. 하나는 서버를 열어야한다고 생각했을 것입니까? – JF0001

+0

또는 출처가 localhost 일 가능성이 있습니까? – JF0001

+0

@ JF0001 : CORS를 통해 허용되는 요청을 확인하려면 Google 트렌드 문서를 봐야합니다. 'localhost'를 허용하지 않고 다른 호스트를 허용하거나 CORS를 전혀 지원하지 않을 수도 있습니다 (예를 들어, 대신 JSON-P를 사용해야 할 수도 있습니다). –

관련 문제