Введение в Ajax

Аббревиатура AJAX означает «асинхронный javascript + xml». Первые два слова «говорящие» – основное программирование асинхронных запросов осуществляется на javascript. Часто, говоря «ajax», так и понимают: технология запросов к серверу без перезагрузки страницы. Однако сами запросы могут быть реализованы в нескольких вариантах: ajax (javascript + xml), ajaj (javascript + json), ajah (javascript + html), ahah (html + http).
Во всех этих случаях используются одни и те же компоненты браузера: Internet Explorer использует ActiveX-компоненты “Microsoft.XMLHTTP” и “Msxml2.XMLHTTP”, прочие браузеры используют объект XMLHttpRequest. Обработка запросов на сервере происходит аналогично обработке любого другого (не ajax) запроса, разница лишь в возвращаемом браузеру формате данных – как правило это json и xml. Эти два формата используются чаще html по ряду причин, основная из которых – правило минимальной достаточности.


Введение в AjaxВведение в Ajax



Таким образом, термин ajax может означать как саму технологию, так и реализацию с использованием xml. Что именно подразумевается (не только в этой статье, но и в любой другой), вы поймёте из контекста. Также важно знать, что разница между ajax, ajaj и прочими вариантами не велика и не принципиальна. Разработчик, понявший принцип работы асинхронных запросов, сможет легко овладеть всеми вариантами их использования.
Мы будем обсуждать ajax и ajaj, при этом будем помнить, что разница между ними лишь в формате получаемых с сервера данных. Чтобы увидеть эту разницу нам понадобятся кое-какие инструменты.
Важнейший из инструментов ajax-разработчика – это http-снифер. Удобный и бесплатный http-снифер встроен в плагин Firebug для Mozilla Firefox (вкладка Net). Кроме того хорошо себя зарекомендовали HTTP Analyzer и HTTPLook. Снифер показывает заголовки запросов и ответов, поэтому вам будет полезна документация по протоколу HTTP 1.1
Также нам понадобится javascript-отладчик (debugger). Поскольку средой выполнения javascript служит браузер, то браузер же и предоставляет возможность отладки и пошагового выполнения. Останов происходит по команде debugger, указанной в теле javascript-программы. Если ваш браузер позволяет отлаживать и пошагово выполнять скрипты, то при достижении команды debugger он приостановит автоматическое выполнение скрипта и позволит вам наблюдать значения переменных, руководить дальнейшим ходом выполнения скрипта и т.д. В браузере Mozilla Firefox эта возможность доступна вместе с плагином Firebug.
Таким образом, желающему овладеть AJAX-программированием желательно:
Иметь представление об ajax, ajaj, ajah, ahah; json, xml, XMLHttpRequest (сокращённо XHR);
Уметь пользоваться http-снифером и javascript-отладчиком.
Кроме того, поскольку технология асинхронных запросов подразумевает получение и обработку ответов, вам будут полезны навыки работы с серверным языком программирования, например, PHP или Perl.
Если вы интересуетесь технологией Ajax, задавайте интересующие вас вопросы в комментариях к этой статье. Мы постараемся ответить на них в следующих статьях, посвященных Ajax.