링크의 href 속성에 정의 된 작업에 요청을 보내야하는 동적 js를 작성하고 있습니다. 그런jquery - jsonp 콜백 매개 변수를 덮어 씁니다.
링크의 모양을
<a href="module/action?callback=MyCallback">show something</a>
링크를 볼 수있는 콜백라는 이름의 get PARAM 있습니다. 이는 요청 메소드가 가능한 한 포괄적이어야하고 요소가 응답과 관련하여 무엇을 알아야하기 때문에 정의됩니다.
지금 내가 그렇게 찾고, 작업에 JQuery와 아약스 기능 요청을 보내 원칙적으로, 아주 잘 작동jQuery('#mylink').live("click", function() { jQuery.ajax({ type: 'GET', dataType:"jsonp", error: ErrorHandler.catchXhrError, url: jQuery('#mylink').attr('href'); }); });
. 하지만 내 문제는 jquery가 param을 얻는 자신의 콜백을 정의하고 있다는 것을 알 수 있습니다.이 메서드를 어떻게 호출 할 수 있는지, href의 콜백 매개 변수가 올바른 것입니다. uri는 다음과 같이 보입니다.
때문에,<a href="module/action?callback=MyCallback">show something</a>
하지만 난이 솔루션을 좋아하지 않는다 : 내가 볼
http:/example.com/module/action?callback=MyCallback&callback=jsonp1279196981233
유일한 방법 아웃, 내 자신의 콜백 PARAM이 mycallback 이름을 정의하고 대신 콜백의 작용에 mycallback을 해석하는 것입니다 내 요청 uri에는 사용할 수없는 매개 변수가 있습니다.
http:/example.com/module/action?mycallback=MyCallback&callback=jsonp1279196981233
내가 송신 방법은 일반적인해야하기 때문에 아약스 방법
jQuery('#mylink').live("click", function() { jQuery.ajax({ type: 'GET', dataType:"jsonp", jsonpCallback: 'MyCallback', error: ErrorHandler.catchXhrError, url: jQuery('#mylink').attr('href'); }); });
내부의 콜백 메소드의 이름을 정의 할 수 있고 우리의 전체면에 걸쳐 사용됩니다 참석하시기 바랍니다 및 응답이 처리 할 수있다 다른 js 메소드에 의해 많은 다른 방법으로.
희망 사항을 충분히 설명하고 도움을 드리겠습니다.
'callback'은 클라이언트를위한 것이 아닙니다. 서버에는 콜백 매개 변수의 이름을 지정해야합니다. 예를 들어, YQL은''_callback ''이라는 이름의 매개 변수를 기대합니다. 서버 측에서이 매개 변수를 제어하지 않으면 url에 속성의 일부로 param 이름을 포함 시키십시오. ''. 이보다 더 일반화되지는 않습니다. 지정되어 있지 않으면 기본 키''콜백 ''으로 폴백한다. – Anurag
또한 두 개의'callback' 매개 변수를 보낼 수없고 모든 서버가 똑같이 동작 할 것으로 기대할 수 없습니다. 어떤 사람들은 첫 번째 것을 집을 수도 있고, 다른 사람들은 두 번째 집을 집을 수도 있습니다. 예를 들어, YQL은 배수가있는 경우 항상 첫 번째'callback' 매개 변수를 사용합니다. 중복에 관한 것이 아니라 예기치 않은 동작에 관한 것입니다. – Anurag