Пример
1 |
pq('#element')->load('http://somesite.com/page .inline-selector')->... |
Серверная сторона Ajax
Аякс, строится на Asynchronous JavaScript и XML являет сочетание HTTP Client и XML парсер, который не затрагивает структуру программы (делает запрос в асинхронном режиме)
phpQuery также предлагает такую функциональность, которая делает использование уверенного качества Zend_Http_Client. К сожалению запросы не асинхронные, но нет ничего невозможного. На сегодняшний день, вместо того, чтобы использовать XMLHttpRequest вы всегда получите Zend_Http_Client экземпляр. Унификация API планируется.
Cross Domain Ajax
По соображениям безопасности, по умолчанию phpQuery не позволяет добраться до другого, чем фактический $_SERVER[‘HTTP_HOST’]. Разработчик должен предоставлять права на другие хосты, прежде, чем сделать запрос Ajax.
Есть 2 способа подключения к другим хостам
phpQuery::ajaxAllowURL($url)
phpQuery::ajaxAllowHost($host)
1 2 3 4 5 6 7 |
// подключаемся к google.com phpQuery::ajaxAllowHost('google.com'); phpQuery::get('http://google.com/ig'); // или с помощью вот такой строки $url = 'http://google.com/ig'; phpQuery::ajaxAllowURL($url); phpQuery::get($url); |
Запросы Ajax
phpQuery::ajax($options) Загружает страницу, используя запрос HTTP
load($url, $data, $callback) Загрузка HTML из удаленного файла и встраивает его в DOM
phpQuery::get($url, $data, $callback) Загружает страницу, используя запрос HTTP GET
phpQuery::getJSON($url, $data, $callback) Загружает данные нагрузки JSON с помощью запроса HTTP GET
phpQuery::getScript($url, $callback) Загрузает и выполняет, локальный файл JavaScript с помощью запроса HTTP GET.
phpQuery::post($url, $data, $callback, $type) Загружает страницу, используя запрос HTTP POST
Ajax события
ajaxComplete($callback) Прикрепите функцию, которая будет выполнена, когда запрос AJAX завершен. Это событие Ajax
ajaxError($callback) Прикрепите функцию, которая будет выполнена, когда запрос AJAX не удался. Это событие Ajax
ajaxSend($callback) Прикрепите функцию, которая будет выполняться перед отправлением запроса AJAX. Это событие Ajax
ajaxStart($callback) Прикрепите функцию, которая будет выполнена, когда запрос AJAX начинается и нет никакой активности. Это событие Ajax
ajaxStop($callback) Прикрепите функцию, которая будет выполнена, когда все запросы AJAX закончился. Это событие Ajax
ajaxSuccess($callback) Прикрепите функцию, которая будет выполнена, когда запрос AJAX успешно завершен. Это событие Ajax
Разное
phpQuery::ajaxSetup($options) Настройка глобальных параметров для AJAX запросов
serialize() Сериализует набор входных элементов в строку данных. Это последовательное выполнение всех данных элементов
serializeArray() Сериализует все формы и элементы формы (как метода .serialize()), но возвращает структуру данных JSON для вашей работы
Опции
Подробное описание опции можно получить на JQuery Documentation Site
— async Boolean
— beforeSend Function
— cache Boolean
— complete Function
— contentType String
— data Object, String
— dataType String
— error Function
— global Boolean
— ifModified Boolean
— jsonp String
— password String
— processData Boolean
— success Function
— timeout Number
— type String
— url String
— username String.