2009-10-23 5 views
3

웹 페이지를 클라이언트 측에 요청하고 문자열로 서버에 전달해야합니다. 나는 jQuery를 시도했다 :자바 스크립트 브라우저와 유사한 GET 요청

$.get(
    "http://example.ru/", 
    {name:"Joe", age:"42"}, 
    function(data){ 
     $.get(
      "script.php", 
      {data:data, query:query}, 
     ) 
    }); 
}); 

그러나 성공하지 못했다. 나는 그것이 jQuery에 의해 추가 된 커스텀 헤더 때문에 실패했다고 생각한다.

요청 헤더 나 브라우저와 마찬가지로 요청을하는 js 라이브러리를 무시할 수있는 몇 가지 기술을 조언 해 줄 수 있습니까?

+0

표면 아래에서 어떤 일이 일어나는지 보려면 Firebug (http://getfirebug.com/)를 사용해야합니다. –

+0

물론 방화범을 사용합니다. 그리고 다음과 같은 헤더가 유일한 것으로 나타났습니다. Origin \t http : // localhost 액세스 제어 요청 헤더 \t x-requested-with – dir01

+0

요청 방법이 GET 대신 OPTIONS 인 것으로 나타났습니다. 도대체. 아무도 날 설명 할 수 있니? – dir01

답변

3

당신은 Same Origin Policy에 의해 붙 잡혔다했습니다

동일 출처 정책은 점점 또는 다른 원점에서 문서의 속성을 설정에서 하나 원점에서로드 문서 또는 스크립트를 방지 할 수 있습니다.

은 당신이 할 수있는 것은 따라서 당신은 아약스 요청을 통해 귀하의 페이지에 표시 할 수 있도록 (물론, 권한) 관심있는 페이지를 가져 도메인에 대한 간단한 프록시를 사용합니다. 내 말은 다음과 같습니다.

$.get("yourdomain/proxy.php?name=Joe&age=42" 
    function(data){ 
     $.get(
      "script.php", 
      {data:data, query:query}, 
     ) 
    }); 
}); 
+0

o_O 따라서 호스트 B에서 실행되는 자바 스크립트로 호스트 A에서 데이터를 가져올 방법이 없습니까? 그런데 Google 웹 검색 API와 같은 것들이 어떻게 작동합니까? – dir01

+0

관련 문제