Когда стоит использовать Ajax

В прошлой статье, посвященной технологии AJAX, мы выяснили, что это такое и какие инструментальные средства нам понадобятся. Теперь, вооруженные отладчиком и снифером, мы сможем наконец приступить к программированию, правильно? Нет, не правильно. Как любая технология, AJAX имеет свою область применения. Не стоит бездумно применять ее везде, где попало.
Чтоб ответить на вопрос, когда лучше запросить новые данные без перезагрузки страницы, а когда лучше перезагрузить страницу целиком, найдём отличия между этими двумя вариантами.

Когда стоит использовать AjaxКогда стоит использовать Ajax
























Обычный запросXHR-запрос
Изменяет содержимое адресной строки (url)Не изменяет содержимое адресной строки
Соответственно, в браузере сохраняется история страницИстория страниц в браузере не сохраняется
Полученные документы сохраняются в кеше браузераПолученные с сервера данные не сохраняются в кеше браузера
Страницы индексируются поисковыми роботамиСтраницы не индексируются поисковыми роботами

Из этого сравнения видно, что ajax не стоит использовать в случаях:



  • Если мы хотим, чтоб посетитель мог передать ссылку на страницу другому пользователю интернет;

  • Если мы хотим, чтоб содержимое проиндексировалось поисковиками.


С этими простыми правилами связаны ошибки некоторых разработчиков. Например, мы сделали каталог товаров, в котором один товар сменяется на другой без перезагрузки страницы. Это будет выглядеть очень красиво, однако посетитель не сможет передать своим знакомым ссылку на понравившийся ему товар, не сможет опубликовать её в своём блоге или просто сохранить в закладки. Вместо товара может быть статья, картинка, всё что угодно.


Лучше всего, конечно, если каждая фотография, каждая статья доступны по прямой ссылке. Это как если бы вы дали посетителю возможность показать на понравившийся элемент пальцем и сказать «вот она, вот эта картинка» или «смотрите сюда, я хочу показать вот это…», и ссылки будет достаточно, не придётся добавлять «прокрути три товара вперёд» или «найди через поиск товар с артикулом A1122…»


Если вы реализуете смену содержимого «вперёд-назад» с помощью ajax, то следует помнить, что пользователь скорее воспользуется кнопкой «назад» в браузере, чем специально выполненным элементом на странице, это просто привычнее.


Таким образом, ajax не рекомендуется использовать для каталогов, для страниц с поиском и вообще для смены основного содержимого страницы. Ajax можно использовать для отправки форм на сервер и для обновления содержимого второстепенных модулей (боковых, нижних, верхних и т.д.), когда не критично, что именно будет в них показано (например, какое именно из объявлений). Впрочем, при желании разработчик может сделать показ содержимого второстепенных модулей определённым, а не случайным. Как это сделать, мы расскажем в следующих статьях.


Ajax не следует рассматривать как панацею или как сверхмодную технологию. Она позволит сделать страницы привлекательнее, а интерфейс – удобнее, но не заменит опыта и понимания принципов взаимодействия пользователя с веб-страницами.


Если вы интересуетесь технологией Ajax, задавайте интересующие вас вопросы в комментариях к этой статье. Мы постараемся ответить на них в следующих статьях, посвященных Ajax.