Источник: http://learn.javascript.ru/ajax-intro
AJAX («Asynchronous Javascript And XML») — технология обращения к серверу без перезагрузки страницы.
За счет этого уменьшается время отклика и веб-приложение по интерактивности больше напоминает десктоп.
Например, при нажатии кнопки голосовать — из браузера на сервер будет отправлено сообщение, а сервер ответит браузеру, что голос принят.
Несмотря на то, что в названии технологии присутствует буква X (от слова XML), использовать XML вовсе не обязательно. Под AJAX подразумевают любое общение с сервером без перезагрузки страницы, организованное при помощи JavaScript.
Элементы интерфейса
В первую очередь AJAX полезен для небольших элементов, связанных с элементарными действиями: добавить в корзину, подписаться, и т.п.
Сейчас — в порядке вещей, что голосование на сайтах осуществляется без перезагрузки страницы.
Динамическая подгрузка данных
Например, дерево, которое при открытии узла запрашивает данные у сервера.
Живой поиск
Живой поиск — классический пример использования AJAX, взятый на вооружение современными поисковыми системами.
Пользователь начинает печатать поисковую фразу, а JavaScript предлагает возможные варианты, получая список самых вероятных дополнений с сервера.
Код, который это обеспечивает, работает следующим образом.
DIV
, который показывается при начале печатиDIV
заполняется ответом сервераBackspace
, обращения к серверу не происходитEnter
.В сети вы можете увидеть много других примеров.
COMET — общий термин, описывающий различные техники получения данных по инициативе сервера.
Можно сказать, что AJAX — это «нажал на кнопку — получил результат», а COMET — это «просто сижу и наблюдаю за результатами».
Примеры COMET-приложений:
На текущий момент технология COMET удобно реализуется во всех браузерах.