2010-11-24 10 views
0

내가 정확히 만들고자하는 것은 사용자가 내 사이트로 게시물 요청을 보내고 그의 브라우저에 응답을 표시 할 수있는 인터페이스입니다. 예를크로스 사이트 AJAX 요청

$.post(
    'http://www.mysite.com/thirdpartyrequest.php', 
    { param1: value1, param2: value2 }, 
    function(data) { 
     $("#universalid").html(data);//Update with the response 
    } 
); 
//however it is not allowed. 

답변

4

가장 좋은 방법은 JSONP를 사용하는 등 크로스 사이트 아약스 요청을 수행하는 방법 어떤 생각이 들어

. 체크 아웃 :

http://api.jquery.com/jQuery.getJSON/

http://en.wikipedia.org/wiki/JSON

사용하면 다음과 같은 데이터를 제공하는 서버가있는 경우 : 당신은 요청 URL에 콜백 매개 변수를 제공하여 JSONP로이 설정

http://my.server.com/somedata.json 

{ 
    'some': ['fancy', 'json' ], 
    'structure: 'here' 
} 

을 - 그것의 사실상 표준 이름은 callback입니다. 그런 다음 서버에서이 매개 변수를 확인하고 그 콜백에서 결과를 래핑해야합니다 (효과적으로 json 대신 javascript로 변환).

<script type="text/javascript"> 

    var receive_this = function(json) { 

    // do some stuff with data here. 

    }; 

</script> 

<script type="text/javascript" src="http://my.server.com/somedata.json?callback=receive_this"></script> 
: 클라이언트는 이제 (개념)이 같은 JSON을로드

http://my.server.com/somedata.json?callback=receive_this 

receive_this({ 
    'some': ['fancy', 'json' ], 
    'structure: 'here' 
}); 

합니다 (niggly, JSON에 대한 응답 MIME 타입은 JSONP를위한 동안 application/json해야합니다 들어 그것이 있어야 application/javascript)

실제로는 jQuery와 같은 것을 사용하여 jsonp 요청 스크립트 태그를 DOM에 동적으로 삽입합니다. jQuery는 기본적으로 콜백 요청 매개 변수 callback을 호출합니다.

$.ajax({ 
    url: 'http://my.server.com/somedata.json', 
    dataType: 'jsonp', 
    success: receive_this 
}); 
+0

JSONP API에 대해 뭐라 말합니다. 그걸 만드는 법 – Starx

+0

예를 들어 답을 업데이트했습니다. –

+0

.JSON 파일을 만들 때 PHP를 사용할 수 있습니까? 그러나'receive_this ({ 'some': [ 'fancy', 'json'], 'structure :'여기 '});'를 출력하는 방법은 'json_encode'가 그 형식으로 배열을 출력 할 수 있습니다. – Starx