НАЗВАНИЕ CGI::Ajax - перловый модуль для написания асинхронных веб приложений СИНОПСИС use strict; use CGI; # или любой другой CGI:: из handler/decoder use CGI::Ajax; my $cgi = new CGI; my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func ); print $pjx->build_html( $cgi, \&Show_HTML); sub perl_func { my $input = shift; # do something with $input my $output = $input . " was the input!"; return( $output ); } sub Show_HTML { my $html = <<EOHTML; <HTML> <BODY> Enter something: <input type="text" name="val1" id="val1" onkeyup="exported_func( ['val1'], ['resultdiv'] );"> <br> <div id="resultdiv"></div> </BODY> </HTML> EOHTML return $html; } Когда вы используете CGI::Ajax с приложением, оно отправляет собственный заголовок, можно его поскипать: my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func, 'skip_header' => 1, ); $pjx->skip_header(1); print $pjx->build_html( $cgi, \&Show_HTML); *полнофункциональные примеры лежат в папке 'scripts/' дистрибутива* ОПИСАНИЕ CGI::Ajax объектно ориентированный модуль предоставляющий уникальный механизм для использования perl асинхронно из HTML страниц с javascript. CGI::Ajax освобождает пользователя от написания большого количества кода, за исключением объединения экспортируемого метода с определеннм документом событием(таким как onClick, onKeyUp, и т.п.). CGI::Ajax так же хорошо совмещается с HTML содержащим более сложный код javascript. CGI::Ajax поддерживает методы возвращающие один или множество результатов на страницу, и поддерживает возврат значений для множества DIV элементов на HTML странице. При использовании CGI::Ajax, URL для HTTP запросов GET/POST генерируется автоматически на основании вывода событий HTML и страница динамически обновляется получая данные из функций perl. CGI::Ajax поддерживает маппинг URL для своих функций, так что вы можете распределить код по нескольким скриптам. Кроме Class::Accessor, модуля используемого для генерации методов доступа CGI::Ajax, CGI::Ajax не требует установки дополнительных пакетов или системы управления контентом, и т.п. Мы добавили поддержку для других CGI handler/decoder модулей, таких как CGI::Simple или CGI::Minimal, но мы не можем протестировать их, так как работаем только с mod_perl2. CGI::Ajax проверяет наличие header() метода для объекта CGI и использует его. Если method() не доступен, он создаёт собственный минимальный заголовок. Мы стараемся свести генерируемый javascript к минимуму, но всё же предоставить пользователю разнообразные методы работы с CGI::Ajax. И ОЧЕНЬ мало javascript.
猿渡学園というソシャゲサービスを作っていたころの話をしよう②
2 года назад
Комментариев нет:
Отправить комментарий