Введение в Ajax


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 может означать как саму технологию, так и реализацию с использованием 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.
____________

Узнайте про название компании на сайте content-stroy.ru! Это весьма познавательно!