Я пишу динамический JS, который должен отправить запрос к действию, который определен в атрибуте href в ссылке.
Ссылка выглядит так:
<a href="module/action?callback=MyCallback">show something</a>
Как видите, ссылка имеет параметр getback с именем callback.Это определено, потому что метод запроса должен быть настолько универсальным, насколько это возможно, и элемент должен знать сам, что он должен делать с ответом.
Теперь я отправляю запрос с функцией jquery ajax в действие,выглядит так:
jQuery('#mylink').live("click", function() {
jQuery.ajax({
type: 'GET',
dataType:"jsonp",
error: ErrorHandler.catchXhrError,
url: jQuery('#mylink').attr('href');
});
});
Это работает очень хорошо, в принципе.Но моя проблема в том, что jquery определяет свой собственный параметр обратного вызова get, и я не знаю, как я могу сказать этому методу, что параметр обратного вызова в моих ссылках href является правильным, а request-uri выглядит так:
http:/example.com/module/action?callback=MyCallback&callback=jsonp1279196981233
Единственный выход, который я вижу, - это определить свой собственный callback-параметр с именем mycallback и интерпретировать mycallback в действии вместо callback:
<a href="module/action?callback=MyCallback">show something</a>
Но мне не нравитсяЭто решение, потому что мой запрос URI имеет параметр, который не будет использоваться:
http:/example.com/module/action?mycallback=MyCallback&callback=jsonp1279196981233
Пожалуйста, обратите внимание, что я не мог определить имя метода обратного вызова внутри метода ajax
jQuery('#mylink').live("click", function() {
jQuery.ajax({
type: 'GET',
dataType:"jsonp",
jsonpCallback: 'MyCallback',
error: ErrorHandler.catchXhrError,
url: jQuery('#mylink').attr('href');
});
});
потому что метод отправки должен быть общим и использоваться по всей нашей стороне, а ответ должен обрабатываться различными способами с помощью различных методов js.
Надеюсь, я смог бы достаточно описать свою проблему и был бы радо любой помощи.