Я пишу плагин jQuery для рендеринга данных, полученных из другого домена в элементе на странице. Я следую за типичный образец для моего JQuery плагин:Каков шаблон для метода JSONP, который был инициирован из плагина jQuery?
$(selector).Plugin(options);
В плагине я получаю внешние данные, используя jQuery.getScript(url, [success]). Внешний источник данных позволяет мне определить имя метода, и он будет обернуть данные в вызове этого метода (JSONP):
$.getScript("http://www.example.com/data?callback=global_callback", instance_callback);
Это эффективно приводит:
<script type="text/javascript">
global_callback(data);
</script>
области видимости global_callback
ограничивает то, что Пример подключения может делать с данными. И метод global_callback
не знает о селекторе или параметрах, с которыми был создан экземпляр плагина.
Я думал, что global_callback
просто сохранит данные, а плагин будет извлекать данные в instance_callback
. Но мне нужно убедиться, что instance_callback
вернет правильные данные, я предвижу проблему с несколькими экземплярами плагина. Как я могу справиться с этим?
Спасибо!
Отлично, я не знал о $ .getJSON(), кажется, решить проблему путем создания функции с уникальным именем для каждого запроса, так что я могу избавиться от моей глобальной функции обратного вызова и I вероятно, не нужно беспокоиться о параллелизме. Спасибо! –