Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ajax_v_deystvii.pdf
Скачиваний:
34
Добавлен:
05.03.2016
Размер:
5.83 Mб
Скачать

Рис. 12.3. Ход процесса при использовании инфраструктуры Ajax. Процесс, запущенный на стороне сервера, генерирует данные, которые код клиентской части приложения вставляет непосредственно на страницу. Такая реализация процесса требует меньшей полосы пропускания и имеет более дружественный пользовательский интерфейс

Рассмотрим Google Maps — популярный пример того, как пользователь может работать с приложением, пока на сервере выполняется обработка данных. Предположим, что мы отправляем серверу запрос о ресторанах на Главной улице и при этом продолжаем работать с картой, пока сервер его обрабатывает. Нам не нужно ждать, как при обычной отправке формы. Процесс, запущенный на стороне сервера, возвращает результаты на страницу, где они отображаются для пользователя. Точно так же "живой" поиск позволяет пользователю взаимодействовать со страницей, пока сервер обрабатывает данные. Ход данного процесса показан на рис. 12.3.

Использование Ajax для обработки поиска и длительных транзакций позволяет устранить проблемы, с которыми мы сталкивались в прошлом. Возможность "живого" поиска полезна не только при использовании поисковой машины, подобной Google или Yahoo!, но и при потребности в менее масштабном поиске. Например, с помощью "живого" поиска можно обратиться к таблице базы данных и извлечь информацию для одного из полей формы (например, адреса), основываясь на том, что уже ввел пользователь, при этом не мешая пользователю в это время заполнять другие поля. Любую длительную транзакцию с сервером можно превратить в "живой" процесс, когда сервер последовательно и ненавязчиво обновляет информацию, предоставляемую клиенту (см. главу 6). С помощью Ajax передачу данных можно сделать более эффективной и предоставлять результаты клиенту в более богатой среде.

12.1.4. Возврат результатов клиенту

Когда сервер готов вернуть клиенту результат "живого"' поиска, это можно сделать несколькими способами. Результаты можно отформатировать в виде XML-кода, обычного текста или HTML-дескрипторов. В предыдущих примерах на сервере создавался XML-документ. Затем на стороне клиента с помощью JavaScript-кода вызывались методы DOM XML, с помощью которых согласно последовательной обработке узлов XML формировалась таблица результатов. При таком подходе требовалось два цикла. Первый был задействован при формировании XML-докумецта на сервере, второй цикл применялся Для создания HTML-таблицы на стороне клиента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]