AJAX: различия между версиями
[непроверенная версия] | [непроверенная версия] |
м робот добавил: mn:Ajax (программчлал) |
AntonR (обсуждение | вклад) |
||
Строка 67: | Строка 67: | ||
== Литература == |
== Литература == |
||
* {{книга |
|||
|автор = Дэниел Вулстон |
|||
|часть = |
|||
|заглавие = '''Ajax и платформа .NET 2.0 для профессионалов''' |
|||
|оригинал = Pro Ajax and the .NET 2.0 Platform |
|||
⚫ | |||
|издание = |
|||
|место = М. |
|||
|издательство = [[Вильямс (издательство)|«Вильямс»]] |
|||
|год = 2007 |
|||
|страницы = 464 |
|||
|isbn = 1-59059-670-6 |
|||
}} |
|||
* {{книга |
|||
|автор = author |
|||
|часть = |
|||
|заглавие = '''AJAX в действии: технология - Asynchronous JavaScript and XML''' |
|||
|оригинал = Ajax in Action |
|||
|ссылка = http://www.williamspublishing.com/Books/5-8459-1034-X.html |
|||
|издание = |
|||
|место = М. |
|||
|издательство = [[Вильямс (издательство)|«Вильямс»]] |
|||
|год = 2006 |
|||
|страницы = 640 |
|||
|isbn = 1-9323-9461-3 |
|||
}} |
|||
* [http://symbol.ru/catalog/book/477695 Ajax для профессионалов] |
* [http://symbol.ru/catalog/book/477695 Ajax для профессионалов] |
||
⚫ | |||
* [http://www.symbol.ru/catalog/book/429052 Ajax и PHP. Разработка динамических веб-приложений] |
* [http://www.symbol.ru/catalog/book/429052 Ajax и PHP. Разработка динамических веб-приложений] |
||
* [http://www.codenet.ru/webmast/js/ajax/ Пример работы Ajax] |
* [http://www.codenet.ru/webmast/js/ajax/ Пример работы Ajax] |
Версия от 10:29, 27 июня 2007
Шаблон:Sprotected AJAX (от англ. Asynchronous JavaScript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений. При использовании AJAX веб-страница не перезагружается полностью в ответ на каждое действие пользователя. Вместо этого с веб-сервера догружаются только нужные пользователю данные. AJAX — один из компонентов концепции DHTML.
AJAX по-английски произносится эй-джэкс, по-русски довольно распространено ая́кс.
Об AJAX заговорили после появления 18 февраля 2005 г. статьи Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». AJAX — это не самостоятельная технология, а идея.
AJAX базируется на двух основных принципах:
- использование DHTML для динамического изменения содержания страницы;
- использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
- с использованием XMLHttpRequest;
- через динамическое создание дочерних фреймов;
- через динамическое создание тега <script>.
Использование этих двух принципов позволяет создавать намного более удобные веб-интерфейсы пользователя на тех страницах сайтов, где необходимо активное взаимодействие с пользователем. Использование AJAX стало наиболее популярно после того, как компания Google начала активно использовать его при создании своих сайтов, таких как Gmail, Google Maps и Google Suggest. Использование AJAX на этих сайтах подтвердило эффективность использования данного подхода.
Flash стек технологий в dblt ActionScript 3, Flex, Flash Remoting составляет технологическую основу так называемых RIA (Rich Internet Applications) активно продвигаемых Macromedia (теперь часть Adobe). RIA являются главными конкурентами Ajax.
Сравнение стандартного подхода и AJAX
Классическая модель веб-приложения
- Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.
- Браузер формирует и отправляет запрос серверу.
- В ответ сервер генерирует совершенно новую веб-страницу и отправляет её браузеру и т. д. После чего браузер полностью перегрузит динамическую страницу.
Модель AJAX
- Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.
- Скрипт (на языке JavaScript) определяет, какая информация необходима для обновления страницы.
- Браузер отправляет соответствующий запрос на сервер.
- Сервер возвращает только ту часть документа, на которую пришел запрос.
- Скрипт вносит изменения с учётом полученной информации (без полной перезагрузки страницы).
Часто сервер передаёт не готовый HTML-код, а только данные; а HTML-элементы создаются исходя из этих данных, с использованием методов модификации DOM. При этом в качестве формата передачи данных обычно используются XML или JSON.
JSON хорош тем, что на стороне клиента его не надо обрабатывать каким-то специальным образом, достаточно выполнить вызов функции eval()
. Однако, исходя из соображений безопасности, его необходимо анализировать, так как при передаче вредоносного кода функция eval()
выполнит данный код.
См. также
Библиотеки
- Atlas. ASP.NET AJAX библиотека от Microsoft.
- Dojo. Javascript инструментарий.
- jQuery. Новый тип JavaScript библиотеки.
- JsHttpRequest. PHP библиотека от Дмитрия Котерова.
- Google Web Toolkit. Инструментарий для Java-разработчиков от Google.
- Prototype. Встроенная поддержка в фреймворке Ruby on Rails.
- Mootools. Довольно компактая и модульная javascript библиотека.
- Rico
- script.aculo.us. Встроенная поддержка в Ruby on Rails.
Ссылки
- Перевод статьи «Новый подход к веб-приложениям».
- AJAX Planet — новости, обзоры и статьи, посвященные Web 2.0 и, в первую очередь, AJAX.
Литература
- Дэниел Вулстон. Ajax и платформа .NET 2.0 для профессионалов = Pro Ajax and the .NET 2.0 Platform. — М.: «Вильямс», 2007. — С. 464. — ISBN 1-59059-670-6.
- author. AJAX в действии: технология - Asynchronous JavaScript and XML = Ajax in Action. — М.: «Вильямс», 2006. — С. 640. — ISBN 1-9323-9461-3.
- Ajax для профессионалов
- Ajax и PHP. Разработка динамических веб-приложений
- Пример работы Ajax