Dojo / Технология AJAX и взаимодействие с сервером

Основная тема этой главы – организация взаимодействий с сервером. Выполнение асинхронных запросов, использование плавающего фрейма (IFRAME) для отправки содержимого формы, преобразование в/из формы представления объектов JavaScript (JavaScript Object Notation, JSON) и использование формата JSONP (JSON with Padding – JSON с дополнением) – лишь некоторые из тем, которые будут представлены в этой главе. Вы также узнаете о классе Deferred, который составляет основу системы вводавывода в инструментальном наборе, обеспечивая однородный интерфейс для обслуживания асинхронных действий.
Статьи раздела 'Технология AJAX и взаимодействие с сервером':
DeferredList
Объект Deferred является частью библиотеки Base, а библиотека Core обеспечивает дополнительное приложение DeferredList, которое предоставляет средства управления множеством объектов Deferred. Среди типичных случаев применения Defe...
JSON
Перед тем как перейти к обсуждению технологии AJAX, необходимо вкратце рассмотреть формат JSON, потому что он стал практически стандартным форматом для организации обмена простыми данными в AJAXприложениях. С формальным описанием...
OpenAjax Hub
OpenAjax Alliance (http://www.openajax.org/) – это объединение производителей и организаций, которые посвятили себя выработке вебтехнологий взаимодействий на базе AJAX. Один из ключевых вопросов на текущем этапе развития вебразр...
Внедрение объектов Deferred в функции XHR
Еще одна замечательная особенность объекта Deferred состоит в том, что он обеспечивает очевидный способ отмены асинхронного действия до его полного завершения. Ниже приводится доработанная версия нашего предыдущего примера, демонс...
Вызов удаленных процедур
Возможно, к этому моменту вы уже заметили, что даже после использования различных методов работы с XHR, имеющихся в Dojo, таких как dojo.xhrGet, с целью уменьшить объем шаблонного программного кода, попрежнему приходится реализов...
Загрузка файлов с помощью IFRAME
Поскольку запуск загрузки файла посредством тега IFRAME является распространенной операцией, попробуем реализовать ее. Ниже приводится файл CherryPy, который отправляет локальный файл, когда происходит обращение по адресу http://l...
Использование JSONP вместе с Dojo
К этому моменту вы уже обладаете достаточным объемом знаний о Dojo, чтобы не удивляться тому, что инструментальный набор упрощает работу, связанную с применением приемов JSONP. Для достижения того же эффекта, что был продемонстрир...
Использование объектов Deferred, возвращаемых функциями XHR
После запуска CherryPy и сохранения следующего ниже кода разметки в файле с именем foo.html в том же каталоге, где находится файл hello.py, все будет готово к испытаниям. Перейдите в броузере по адресу http://127.0.0.1:8080/foo.ht...
Исследование объекта Deferred с помощью CherryPy
Давайте для начала подготовим простую процедуру на стороне сервера, которая выполняет короткую задержку, а затем возвращает некоторое содержимое. (Пауза – это лишь способ подчеркнуть асинхронность поведения.) Ниже следует полное с...
Краткий обзор AJAX
Появление AJAX1 (Asynchronous JavaScript and XML – асинхронный JavaScript и XML) вызвало широкий резонанс и оказало благотворное действие на дальнейшее развитие вебдизайна. Если раньше для существенного обновления содержимого веб...
Межсайтовый скриптинг с использованием JSONP
Хотя объект XMLHttpRequest в рамках обеспечения политики одного источника не позволяет загружать данные изза пределов домена текущей страницы, тем не менее оказывается, что тег SCRIPT не является субъектом этой политики. В резуль...
Многоцелевая функция выполнения запросов через XMLHttpRequest
В Dojo версии 1.1 появилась более универсальная функция dojo.xhr со следующей сигнатурой: dojo.xhr(/*String*/ method, /*Object*/ args, /*Boolean?*/ hasBody) Как оказывается, каждая из функций, работающих с XHR, представленных ...
Модуль IO библиотеки Core
В этом разделе рассматриваются возможности модуля dojo.io, входящего в состав библиотеки Core. Центральными темами для обсуждения будут – внедрение динамических тегов SCRIPT с целью получения JSON с дополнением и превращение IFRAM...
Объекты Deferred
В настоящее время JavaScript не предусматривает поддержку концепции потоков выполнения, но существует возможность асинхронного выполнения запросов XMLHttpRequest с задержкой – с помощью функции setTimeout. Однако, чтобы запутаться...
Отправка формы с помощью IFRAME
Еще одно типичное использование плавающих фреймов IFRAME заключается в том, чтобы отправлять содержимое формы в фоновом режиме, причем это может быть даже форма выгрузки файла, что в обычном случае влечет за собой полную перезагру...
Передача данных с помощью IFRAME
Библиотека Core обеспечивает средства передачи данных с помощью тега IFRAME, что бывает удобно для выполнения в фоновом режиме задач, которые в нормальных условиях требуют полной перезагрузки страницы. Функции XHR позволяют получа...
Подключение к источнику данных Flickr
Следующий пример иллюстрирует выполнение обращения JSONP к источнику данных Flickr. Попробуйте выполнить этот фрагмент в Firebug, чтобы увидеть, что происходит на самом деле. Кроме того, с помощью этого примера будет весьма поучит...
Получение программного кода JavaScript с помощью вызова JSONP
Как оказывается, функцию dojo.io.script.get можно использовать для взаимодействия с сервером, который возвращает чистый программ ный код JavaScript. В этом случае запрос выглядит точно так же, только вместо параметра callbackPara...
Пример JSON RPC
Для иллюстрации основ использования механизма RPC рассмотрим пример, в котором для обработки списка чисел используется класс JsonService; в примере вычисляется сумма чисел или сумма квадратов чисел. Клиент определяет SMD, в которо...
Пример использования JSONP
Как и все прочее, поначалу работа с JSONP кажется немного загадочной, но стоит только понять принцип действия, и все сразу будет выглядеть очень просто. Чтобы разобраться с этой концепцией, представим, что в странице, загруженной ...

Страницы: 1 2