Получение пользовательского ввода для скрипта Yahoo Pipes - PullRequest
0 голосов
/ 27 марта 2011

Я немного новичок в этом, поэтому мне было интересно, может ли кто-нибудь помочь с тем, что, я надеюсь, простой вопрос.

Я разработал канал Yahoo, который принимает в качестве входных данных название метки. Затем следует запустить канал Yahoo, чтобы сгенерировать вывод.

Ниже приведен фрагмент кода, который генерируется при запуске Yahoo Pipe со страницы Yahoo Pipes.

Теперь мой вопрос заключается в том, что я хочу запустить этот канал со своего собственного сайта и попросить пользователя ввести нужные ярлыки, а не заставлять их покидать сайт и переходить на страницу Yahoo Pipes.

<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">{"pipe_id":"6c3a35f3d8e3cdb8ef270a3565d64ca3","_btype":"list","pipe_params":{"tags":"Cooking Beef Chicken"},"width":"600","height":"500"}</script>

Мне бы хотелось иметь простую форму, которую пользователь заполняет, и код для генерации кода скрипта выше из его ввода и выполнения.

Надеюсь, я объяснил это, так как это немного сбивает с толку.

Подводя итог, как мне получить информацию от пользователя на веб-странице о том, с какими метками он хочет запустить канал, и чтобы он генерировал правильный код и выполнял.

1 Ответ

1 голос
/ 07 августа 2011

Это трюк из трех частей, если вы используете серверный скрипт

Информация отправляется из обычной формы обратно на страницу, с которой она поступает, и извлекается из URL, как, например,

enter <?php $userInput    = $_GET["userInput"]); ?>here

Теперь userInput можно записать в URL-адрес JavaScript, который выполняет междоменный вызов в канал.

enter <script src="http://pipes.yahoo.com/pipes/pipe.run?_id=050fc8ccfefd18420680a86ebf4bf80e&_render=json&_callback=cbfunc&town=<?php echo $userInput; ?>"></script> here

Когда канал возвращает данные, он оборачивает тег callback вокруг него, вэтот случай называется cbfunc и используется для запуска подпрограммы javascript в заголовке страницы, которая извлекает данные в строку JSON, чтобы вы могли делать с ней то, что вы хотите.

enter function cbfunc(data){
    var data     = (data.value.items[0].content)
                } here

Рабочий пример этого можно увидеть в действии по адресу http://bishop -test.appspot.com / при нажатии на поиск по карте.Эта ссылка также полезна для проверки вывода JSON http://braincast.nl/samples/jsoneditor/

...