xAjax, projax, sajax

Доменные имена Доменные имена
Источник бесперебойного хостинга
started - надежный регистратор доменных имен
Хостинг от cityhost.com.ua
Реклама на Karman.com.ua
Тел.: +38 (066) 370-05-89
ICQ: 271717692
karman.com.ua - Хостинг в Украине
форум о хостинге в Украине

Здравствуйте, гость ( Вход | Регистрация )

Есть вопросы о хостинге и о сайтах?

и получи ответ от профессионалов, которые обожают помогать людям :).
 
Ответить в данную темуНачать новую тему
> xAjax, projax, sajax
AcTEpi_X
сообщение 24.9.2008, 18:23. Re: xAjax, projax, sajax
Сообщение #1


Любимый доктор хостинга
******

Группа: Любимый хостинг-ROOT
Сообщений: 1 275
Регистрация: 11.2.2008
Пользователь №: 887



Введение

xAjax - это php библиотека, которая отличается тем, что позволяет исполнять javascript на основе php-кода. Предком xAjax можно назвать RJX из ruby, а конкурирующими технологиями - projax, sajax, jQuery-PHP, Helma. Весь процесс состоит из двух php классов и обработчика xml на javascript. В общем - на php сначала инициализируется объект и объявляются функции которые будут отвечать на ajax-запрос. В этих функциях необходимо использовать объект, который и будет генерировать xml-ответ.

Пример

В данном случае надо сделать так, что в html виде есть два поля, при изменении которых надо ajax-ом проверить равны ли они. Для этого делаем форму, делаем два поля и ставим на форму onchange event:
Код
<form id=formid onchange="xajax_processFormData(xajax.getFormValues('formid'));">
input type='text' name='pass'>
input type='text' name='pass2'>
</form>


Дальше, на уровне обработки наша платформа посторена на классах и за показ этой страницы отвечает public функция. Это надо учитывать, потому что xajax делает запрос по тому же адрессу где мы находимся, просто добавляет POST данные, по которым объект узнаёт надо ли ему генерировать XML ответ или нет.

Код
class someclass(){
function public(){
$xajax = new xajax();

//будучи внутри объекта вызов внутренней функции идёт с указателем на данный объект $xajax->registerFunction(array("processFormData",&$this,"processFormData"));
$xajax->processRequests(); //функция для конвертированияecho $xajax->getJavascript( "/path/to/xajaxJs/" );
}

function processFormData($arrFormData){
$objResponse = new xajaxResponse();
if ($arrFormData['pass']<>$arrFormData['pass2'])
$objResponse->addAssign("str_error","innerHTML", 'Passwords do not match');
}
}


Ясно видно что xajax объект основной, в него регистрируются функции обработки, а xajaxResponse вспомогательный, который генерирует XML, который потом распознаётся на уровне javascript и выполняет соответсвующие действия.
Возможности

xajaxResponse объект расширяем и уже готовится версия 0.5, а пока он позволяет:

* Работу с элементами:
o assign изменяет параметры html-элементов, будь то innerHTML, style и тп.
o append также изменяет параметры элементов, добавляя в конец данные
o prepend добавляет данные в начало
o replace как вы догадались - заменяет в элементе одни на другие, как str_replace
o remove удаляет элемент
o create создаёт элемент
o insert вставляет новый элемент
o insertafter добавляет после заданного элемента
o clear очищает содержимое элемента
* Работу с input-полями:
o createInput
o insertInput
o insertInputAfter
* Особые процессы:
o removeHandler
o includeScript подключает внешний js-файл
o script добавляет прописанные вручную js-обработку
o addEvent создаёт новый event
o call вызывает заданную js-функцию с заданными параметрами
o alert создаёт оповещение
o redirect создаёт перенаправление на другую страницу, возможно через некоторое время

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

Читайте так-же:

* jQuery-PHP
* Helma - и снова серверный javascript

Источник
Перейти в начало страницы
 
+Цитировать сообщение
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
 
Design by: Free IPB Skins & Web Proxy & © Karman.com.ua Rambler's Top100