2012-06-13 2 views
2

자바 스크립트에서 AJAX를 사용하여 PHP 파일로 데이터를 보내지 만 Javascript 코드가 PHP 코드와 다른 도메인에 있다는 것을 알고 PHP에서 Javascript로 응답 데이터를 가져올 수 없습니다. 누구나이 문제를 해결할 생각이 있습니까?PHP에서 다른 도메인의 Javascript로 데이터 전송

관련,

+1

코드를 확인해야합니다. –

+0

JS가 다른 도메인에있는 경우 어떻게 JS가 데이터를 PHP로 보낼 수 있습니까? –

+1

@MarcB : 당신은 어떤 도메인으로 나가는 AJAX 요청을 할 수 있습니까? – xbonez

답변

0

는 AFAIK 보안상의 이유로 다른 도메인 아약스 요청을 보낼 수있는 방법이 없습니다. 내가 해결에 어떤 aproachs 생각할 수 :

  • 전화 후 요청 저점 소켓 또는 컬을 PHP를 프록시.
  • Example 그것을 호출하고 crossdomain.xml 파일을 어려울 수 있습니다 자바 스크립트
+0

re : * AFAIK 아약스를 보낼 수있는 방법이 없습니다. 보안상의 이유로 * 다른 도메인에 요청하면 JSONP가이를 수행하는 일반적인 방법입니다. http://en.wikipedia.org/wiki/JSONP – Cheeso

+0

나는 그것에 대해 듣지 못했습니다. 재미 있습니다. – FabioCosta

3

JS 크로스 도메인에서 응답을 받으려면 Access-Control-Allow-Origin 헤더를 추가하여 CORS를 사용하도록 설정하십시오. 그러나 이것은 드문 경우 일 수 있습니다.

보다 나은 해결책은 JSONP으로 인코딩 된 응답을 다시 보내는 것입니다.

다음은 JSONP를 사용한 예입니다. JSONP 응답을 지원하는 API를 사용하고 있습니다. JSONP Example

대조적으로 다음 예제도 작동합니다. 이 경우 JSONP를 사용하지 않습니다. 내 API가 CORS가 사용 가능하므로이 요청이 작동합니다. 그러나, 내가 말했듯이, 나는 이것이 여드름이있는 것을 발견했으며, JSONP를 추천 할 것이다.

CORS Example

+0

JSONP이 최선의 방법인데도 보안 문제로 직접 사용하지 않을 것입니다 ... –