2013-02-15 1 views
0

저는 Ajax/JSONP 요청을 처리하기 위해 jQuery에 어려움을 겪고 있습니다.JSONP 임의 콜백을 jQuery와 함께 사용하는 방법은 무엇입니까?

두 개의 서로 다른 도메인에서 작업 중이며 몇 가지 동시적인 Ajax 호출을합니다. 따라서 jQuery에서 자동 생성 한 콜백 임의의 이름에 의존해야합니다. jsonpCallback 설정을 추가하면이 코드가 작동하지만 동시 호출은 충돌 할 수 있습니다 (See here).

documentation에 따라,이 코드로 끝날 :

Uncaught ReferenceError: callback is not defined.

:

callback(
    { 
     "mydata": 
     [ 
     // my JSON content... 
     ] 
    } 
); 

내가이 오류 메시지가 :

var request = $.ajax({ 
     url: "http://www.myUrl.com/myScript.php?preventCache="+new Date(), 
     data: {GETvariableName:"value"}, 
     contentType: "application/json", 
     dataType:'jsonp'}) 
    .done(function(json) { 
     console.dir(json.mydata); 
     }) 
    .fail(function(e) { 
     console.log(e.message); 
     }); 

PHP 파일은이 같은 서비스를 제공 좋아, 어떤 함수 이름을 사용해야합니까, 그것은 자동으로 생성되어야하기 때문에?

답변

1

PHP는 $_GET['callback']

+0

감사하여 보내진 callback 액세스 값을 정의 안된다; 나는 $ _GET [ '콜백']에 의해 PHP 파일에서 "콜백"을 대체했습니다. 이것은 훨씬 더 의미가 있습니다. – Yako

0

쿼리 매개 변수? callback = function_name을 서버의 함수 이름으로 사용해야합니다. jQuery는 임의의 콜백 이름을 생성하고 .done 함수에 자동으로 매핑합니다.

관련 문제