Глобальные переменные xajax
Знание возможностей xajax состоит не только в умении написать страницу, которая будет работать без перезагрузки, но и в способности настраивать и менять те многочисленные параметры, которые могут кардинально изменить работу xajax.
Глобальные константы
Глобальные константы объекта xajax:
XAJAX_DEFAULT_CHAR_ENCODING string (по умолчанию "utf-8") — используется как в классах xajax, так и xajaxResponse. Вы можете сами задать значение этой константы;
XAJAX_GET int (по умолчанию 0) — показывает, что задан метод GET HTTP-
запроса, используемый в xajax;
XAJAX_POST int (по умолчанию 1) — в xajax установлен метод POST HTTP-
запроса.
Методы объекта xajax
Объект xajax имеет cледующие методы:
xajax (string $sRequestURL="", string $sWrapperPrefix="xajax_", string
$sEncoding=XAJAX_DEFAULT_CHAR_ENCODING, boolean $bDebug=false) — кон-
структор. Вы можете сразу установить нужные вам значения в конструкторе или
же после посредством методов.
Параметры:
$sRequestURL — тип string (по умолчанию текущий URL браузера);
$sWrapperPrefix — тип string (по умолчанию "xajax_");
$sEncoding — тип string (по умолчанию равно глобальной константе);
$bDebug Mode — тип boolean (по умолчанию false).
setRequestURI (string $sRequestURL) — устанавливает URI, к которому будет сделан запрос.
Параметры:
$sRequestURL — это URL (может быть абсолютным или относительным) в PHP-скрипте, который должен быть запрошен объектом xajax.
Пример:
$xajax->setRequestURL("http://www.site.ru");
debugOn () — установить вывод отладочных сообщений (JavaScript alerts) для запроса xajax.
debugOff () — скрыть вывод отладочных сообщений (JavaScript alerts) для запроса xajax.
statusMessagesOn () — включает вывод сообщений в строку состояния браузера xajax.
statusMessagesOff () — отключает вывод сообщений в строку состояния браузера xajax (установлено по умолчанию).
waitCursorOn () — включает ожидание показа курсора браузером (установлено по умолчанию).
waitCursorOff () — отключает ожидание показа курсора браузером.
exitAllowedOn () — включает прерывание процесса xajax после того, как запрос был выслан и ответ был получен браузером (установлено по умолчанию).
exitAllowedOff () — отключает прерывание процесса xajax после того, как запрос был выслан и ответ был получен браузером.
errorHandlerOn () — включает обработку ошибок системой после того, как произошла ошибка в ходе приема запроса и отправки ответа сервером (JavaScript alerts).
errorHandlerOff () — отключает обработку полученных ошибок в xajax (установлено по умолчанию).
setLogFile (string $sFilename) — определяет лог-файл, в который будет записана ошибка при исполнении запроса xajax. Если вы не вызываете этот метод, то лог-файл писаться не будет.
Применение:
$xajax->setLogFile("/xajax_logs/errors.log");
setWrapperPrefix ($sPrefix) — устанавливает префикс, который будет добавлен к функциям JavaScript (по умолчанию "xajax_").
setCharEncoding (string $sEncoding) — устанавливает кодировку для вывода HTML, основанный на переменной $sEncoding, которая является строкой, содержащей набор символов, определяющих кодировку. Обычно вы не нуждаетесь в применении этого метода, т. к. кодировка устанавливается автоматически, на основе глобальной константы XAJAX_DEFAULT_CHAR_ENCODING.
Пример:
$xajax->setCharEncoding("windows-1251");
//или:
$xajax->setCharEncoding("utf-8");
registerFunction (mixed $mFunction, string $sRequestType=XAJAX_POST) — регистрация PHP-функции или метода для того, чтобы она могла быть вызвана через xajax в вашем коде JavaScript. Если вы хотите зарегистрировать статический метод, введите следующий массив — array("myFunctionName", "myClass", "myMethod").
ЗАМЕЧАНИЕ
Для метода экземпляров класса используйте объектную переменную в качестве второго аргумента (В РНР 4 проверьте, что перед переменной поставлен знак &). Функ-
цию, которую вы вызываете через JavaScript, называйте так, чтобы она имела уникальное имя и не конфликтовала с другими функциями.
Параметры:
$mFunction — строка, содержащая имя функции или вызываемый массив объектов;
$sRequestType — тип запроса (XAJAX_GET/XAJAX_POST), который будет использоваться функцией (по умолчанию XAJAX_POST).
Пример:
$xajax->registerFunction("myFunction");
//или:
$xajax->registerFunction(array("myFunctionName", &$myObject, "myMethod"));
registerExternalFunction (mixed $mFunction, string $sIncludeFile, string $sRequestType=XAJAX_POST) — зарегистрировать PHP-функцию, которая расположена в другом файле и может вызываться из xajax. Если функция запрошена, внешний файл будет включен в описание, перед тем как будет вызвана функция.
Параметры:
$mFunction — строка, содержащая имя функции или вызываемый массив объектов (см. registerFunction() для более полной информации по вызываемому массиву объектов);
$sIncludeFile — строка, содержащая путь и имя включаемого файла;
$sRequestType — тип запроса (XAJAX_GET/XAJAX_POST), использованный для этой функции. По умолчаню XAJAX_POST.
Пример:
$xajax->registerExternalFunction("myFunction","myFunction.inc.php", XAJAX_POST);
registerCatchAllFunction (mixed $mFunction) — регистрирует функцию
PHP, которая будет вызвана, если xajax не может найти функцию, вызываемую
посредством JavaScript. Метод действует только при вызове метода JavaScript xajax.call() напрямую. Используйте эту возможность для обработки неописанных ситуаций. $mFunction — строка, содержащая имя функции или вызываемый массив объектов (см. registerFunction() для более полной информации по вызываемому массиву объектов).
Пример:
$xajax->registerCatchAllFunction("myCatchAllFunction");
registerPreFunction (mixed $mFunction) — регистрирует функцию PHP для исполнения, перед тем как xajax выполнит запрашиваемую функцию. Xajax
будет автоматически добавлять запрос функции на возвращенный ответ "предфункции" для того, чтобы собрать из них один ответ. Другая возможность — не ждать ответа, но тогда будет возвращаться массив, первый элемент которого есть false (boolean), а второй является ответом. В этом случае ответ от "предфункции" будет возвращен в браузер без вызова функции, запрошенной xajax.
Параметры:
$mFunction — строка, содержащая имя функции или вызываемый массив объектов (см. registerFunction() для более полной информации по вызываемому массиву объектов).
Пример:
xajax->registerPreFunction("myPreFunction").
canProcessRequests () — возвращает true, если xajax может обработать запрос, иначе false. Позволяет узнать, прошел запрос или нет.
getRequestMode () — возвращает текущий вид запроса (XAJAX_GET или
XAJAX_POST) или -1, если не определен.
processRequests () — это основной движок для коммуникации в xajax, который обрабатывает все входящие запросы xajax, вызывает соответствующие РНР-функции (или методы class/object) и выводит XML-ответы назад в обработчик ответов JavaScript. Если ваш запрашиваемый URI отличается от URI вашей страницы, то эта функция должна быть вызвана перед выводом заголовков или HTML.
printJavascript (string $sJsURI="", string $sJsFile=NULL, string
$sJsFullFilename=NULL) — xajax печатает JavaScript-код в вашу страницу, который является результатом вывода метода getJavascript(). Метод вызывается только между тегами в вашей HTML-странице.
Параметры:
$sJsURI — относительный адрес папки, где установлен xajax. Для PHPфайла, находящегося в каталоге http://www.myserver.com/myfolder/mypage.php и xajax, который был установлен в каталог http://www.myserver.com/anotherfolder, по умолчанию предполагается, что xajax находится в той же папке, что и ваш PHP-файл;
$sJsFile — относительный путь к папке/файлам движка xajax JavaScript, расположенного в инсталляционной папке (по умолчанию xajax_js/xajax.js);
$sJsFullFilename — может быть установлен абсолютный путь к файлу xajax.js. Этот аргумент нужно использовать, только если вы переместили папку xajax_js.
getJavascript (string $sJsURI="", string $sJsFile=NULL, string
$sJsFullFilename=NULL) — возвращает код xajax JavaScript, который должен быть добавлен в вашу HTML-страницу между тегами. Аргументы функции такие же, как и в методе printJavascript().
Источник: Петин В. А., Сайт на AJAX под ключ. Готовое решение для интернет-магазина. — СПб.: БХВ-Петербург, 2011. — 432 с.: ил. + CD-ROM — (Профессиональное программирование)
Похожие посты:
- Создание настоящей Репутации (0)
- Стратегически важный контент, обладающий огромной ценностью (0)
- Ведем дневник (0)
- Зарождение репутации (0)
- Анкор ссылки: «любовные письма» репутации (0)
- Удаление отступов от края страницы (0)
- Выбор единиц измерения размера шрифтов:пикселы, пункты, пики или что-то другое (0)