Руководства:Изучите xAjax за 10 минут
Написав    П'ятниця, 15 червня 2007, 09:03    PDF Друк e-mail
Розробник
Использование xajax в PHP xajax разработан с целью максимально упростить его использование как в существующих, так и в новых проектах. Вы можете использовать мощь xajax практически в любом PHP скрипте. Для этого достаточно выполнить семь простых шагов:
1.    Подключаем библиотеку xajax:
2.    require_once("xajax.inc.php");
3.    Инициализируем xajax объект:
4.    $xajax = new xajax();
5.    Регистрируем имена PHP функций, которые мы хотим вызывать посредством xajax:
6.    $xajax->registerFunction("myFunction");
7.    Пишем PHP функции, которые мы зарегистрировали, и используем объект xajaxResponse для возвращения XML результата этими функциями.:
8.    function myFunction($arg)
9.    {
10.        // выполняем какие-либо операции с аргументом $arg, например, выполняем SQL запрос
11.        // и сохраняем результат в новую переменную $newContent
12.       
13.        // создаем объект xajaxResponse
14.        $objResponse = new xajaxResponse();
15.       
16.        // добавляем в ответ команду, устанавливающую значение innerHTML аттрибута с id="SomeField"
17.        // в значение переменной $newContent
18.        $objResponse->addAssign("SomeElementId","innerHTML", $newContent);
19.       
20.        // возвращаем XML ответ сгенерированный объектом xajaxResponse
21.        return $objResponse;
22.    }
23.    Даем xajax обработать запросы, прежде чем скрипт начал выводить какие либо данные:
24.    $xajax->processRequests();
25.    Даем xajax команду для генерации необходимого JavaScript между тегами <head></head> :
<?php $xajax->printJavascript(); ?>
26.    Вызываем ранее зарегистрированную функцию из обработчика javascript события или какой-либо функции в приложении:
27.    <div id="SomeElementId"></div>
28.    <button onclick="xajax_myFunction(SomeArgument);">
    Готово. xajax позаботится обо всем остальном. Главная ваша задача - написать PHP функции и позаботиться, чтобы они возвращали XML ответ, что может быть легко сделано средствами класса xajaxResponse.
Каким образом можно асинхронно обновить содержимое?
    Возможно наиболее уникальной возможностью xajax является класс xajaxResponse. Другие Ajax библиотеки требуют от вас написание собственных callback обработчиков на Javascript для того, чтобы обработать данные возюращенные асинхронных запросом и обновить содержимое. С другой стороны, xajax позволяет вам легко обновлять содержимое из PHP. Класс xajaxResponse позволяет вам создавать XML инструкции возвращаемые вашему приложению из PHP функций. Обработчик сообщений xajax парсит XML и сообщает как обновить содержимое и состояние Вашего приложения. Класс xajaxResponse только предлагает набор полезных команд, как например Assign, которая устанавливает определённый атрибут элемента Вашей страницы; Append, который добавляет данные в конец определённого атрибута Вашей страницы; Prepend, который добавляет данные в начало определённого атрибута Вашей страницы; Script, который запускает различные код JavaScript; и Alert, который показывает предупреждение с произвольным сообщением.
    Один XML-ответ может содержать несколько команд, которые будут выполнены в порядка их добавления к ответу. К примеру, пользователь нажимает на кнопку в вашем приложении. Событие onclick вызывает javascript "обертку" для PHP функции. Эта "обертка" отправляет асинхронный запрос на сервер через XMLHttpRequest, где xajax вызывает PHP функцию. PHP-функция лезет в базу, лапает данные либо сериализует их. Для генерации ответа в формате XML, который может содержать несколько команд, вы используете класс xajaxResponse, осуществляющий обратную отправку данных на выполнение xajax-обработчику сообщений.
 
$objResponse = new xajaxResponse();
$objResponse->addAssign("myInput1","value",$DataFromDatabase);
$objResponse->addAssign("myInput1","style.color","red");
$objResponse->addAppend("myDiv1","innerHTML",$DataFromDatabase2);
$objResponse->addPrepend("myDiv2","innerHTML",$DataFromDatabase3);
$objResponse->addReplace("myDiv3","innerHTML","xajax","<strong>xajax</strong>");
$objResponse->addScript("var x = prompt(\"Enter Your Name\");");
return $objResponse;

Обработчик сообщений xajax выполнит разбор полученного XML и выполнит следующее:
•    Элементу с id myInput1 будут присвоены данные из переменной $DataFromDatabase.
•    Цвет текста в элементе с id myInput1 изменится на красный.
•    Данные из $DataFromDatabase2 будут добавлены в innerHTML элемента с id myDiv1.
•    Данные из $DataFromDatabase3 будут добавлены в innerHTML элемента с id myDiv2.
•    Все вхождения "xajax" в innerHTML элемента с id myDiv3 будут заменены на "xajax"; что выделит все слова xajax жирным.
•    Появиться окно, с запросом ввести имя пользователя и введенный текст, будет присвоен javascript-переменной x.
    Все это реализуется на стороне сервера в функции PHP, формирующей и возвращающей XML-ответ c использованием xajax.

Останнє оновлення ( Субота, 23 червня 2007, 01:54 )
 

Відвідування

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterСьогодні175
mod_vvisit_counterВчора174
mod_vvisit_counterЗа цей тиждень1022
mod_vvisit_counterЗа минулий тиждень1226
mod_vvisit_counterЦього місяця2959
mod_vvisit_counterПопереднього місяця5298
mod_vvisit_counterВсього575558

Кількість користувачів: 4
Ваш IP: 54.234.45.10
,
Сьогодні: січ. 18, 2018