Как я могу легко использовать Ajax, Perl и JSON вместе? - PullRequest
4 голосов
/ 05 мая 2009

Я пытаюсь создать веб-страницу с помощью Ajax.

Пример:

  1. Я создаю файл Perl / CGU, который вызывает простой пост;

    Файл: ..test.cgi? Name = Thomas

    Текст обратно: Вас зовут Томас!

  2. Я создаю html-файл, который может использовать сообщение, но затем страница должна перезагрузиться. Я использую ввод текста и кнопку.

Как мне легко использовать Ajax, Perl и JSON вместе? Вот как это должно работать вместе, но как?

Html + Ajax / JavaScript CALL Perl + "JSON-perl-string" ВОЗВРАЩЕНИЕ В Ajax CONVERT-JSON -> Html

Ответы [ 5 ]

12 голосов
/ 05 мая 2009

Для JSON попробуйте модуль CPAN JSON .

Для использования XMLHttpRequest я рекомендую эти замечательные учебники от IBM.

Освоение Ajax, часть 1: Введение в Ajax

Две статьи, которые вам, вероятно, будут наиболее интересны, это следующие:

Освоение Ajax, часть 10. Использование JSON для передачи данных

Освоение Ajax, часть 11: JSON на стороне сервера

Вы можете получить всю серию из 11 деталей , используя эту поисковую ссылку .

4 голосов
/ 05 мая 2009

Вам просто нужно, чтобы ваше приложение возвращало JSON (для этого вы можете просто использовать модуль JSON в CPAN) вместо HTML. Это означает, что вам нужен заголовок Content-типа application / json вместо text / html, а затем вам нужно использовать этот JSON в вашем Javascript (лучше всего использовать здесь библиотеку Javascript, такую ​​как jQuery или Prototype).

3 голосов
/ 06 мая 2009

jquery обеспечивает очень простую поддержку ajax и JSON с их API. Он обрабатывает все объекты XMLHttpRequest для вас. JQuery

1 голос
/ 30 апреля 2013

Попробуйте новый модуль CPAN Yote . Он связывает объекты JavaScript с Perl через JSON RPC.

Вот пример этого на клиенте:

Сервер

package Hello;
use base 'Yote::AppRoot';

sub hello {
  return "Hello World";

1;

Клиент

$.yote.init();
var hello_app = $.yote.fetch_app('Hello');

alert( hello_app.hello() );
   // outputs "Hello World"
1 голос
/ 05 мая 2009

Если ваша главная цель - избежать обновления для обновления страницы, вы можете попробовать удаленный сценарий, используя объект XMLHttpRequest в XML.

Подробнее об этом здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...