Recent Changes - Search:

PmWiki

pmwiki.org

edit SideBar

Ajaxajaxify

Модули AJAX?

ajax/ajaxify.php

Модуль ajaxify позволяет упростить разработку веб-приложений с использованием ajax-вызовов. Он преобразует элементы веб-страницы в AJAX-триггеры и AJAX-цели.

  • AJAX-триггеры - это элементы инициирующие AJAX запрос: ссылки, кнопки, формы.
  • AJAX-цели - элементы, в которых ввыводятся результаты AJAX-запросов.

При срабатывании AJAX-триггера код ajaxify анализирует правила css и формирует список AJAX-целей. Для каждой AJAX-цели из списка порождается AJAX-запрос результаты которого выводятся в блок цели.
Пример кода страницы (GMAIL-клиент за пять минут):

...
<div id="content">
<span id="msgcount" class="ajaxify target message count"><!--количество сообщений--></span>
<div id="msglist" class="ajaxify target message list">
<!--список сообщений-->
</div>
<a href="/someurl1?obj[ajaxify:target]=.message" class="someclass ajaxify click">Reload</a><!--загрузить сообщения-->
<form id="msgnew" action="/someurl1?command=send&obj[ajaxify:target]=.message.new" class="ajaxify submit target new message" method="post"><!-- 
<label>Whom:</label><input type="text" name="email"><br>
<label>What:</label><br>
<textarea name="message"></textarea>
<input type="submit" value="Send">
</form>
</div>
  • css класс "ajaxify" указывает что данный элемент будет "аяксифицирован".
  • Класс "target" являет указывает что данный элемент является AJAX-целью
  • Класс "click" преобразует элемент в триггер, срабатывающий по клику - подходит для ссылок, картинок, кнопок. Генерируется HTTP запрос типа GET.
  • Класс "submit" преобразует форму в триггер. Может генерировать как GET так и POST запросы в зависимости от значения атрибута method тэга формы.

Предусмотрены также дополнительные атрибуты для элементов:

  • ajaxify:url - переопределяет URL на который будут отправляться запросы целей при срабатывании данного триггера. Если не указан то берется URL из атрибутов href (click) или action (submit) триггера;
  • ajaxify:source - переопределяет URL на который будет отправлен запрос для данной цели.
  • ajaxify:id - переопределяет идентификатор цели, если не указан то используется ее id;

У DOM-объектов элементов добавляется свойство-объект ajaxifier.
Методы:

  • click(event) - обработчик клика. Принимает на входе объект-событие Event библиотеки Prototype.
  • submit(event) - обработчик отправки формы. Принимает на входе объект-событие Event библиотеки Prototype.
Edit - History - Print - Recent Changes - Search
Page last modified on February 09, 2011, at 10:49 AM EST