Разработка сайтов для СРО

Ajax в составе библиотеки jQuery

Реализация клиентской Ajax-функциональности не составит особого труда, особенно если использовать jQuery в качестве фреймвока.

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

Когда-то звонкое слово Ajax имело особый смысл, а сегодня под ним понимается всего лишь еще один инструмент в арсенале веб-разработчика — инструмент, который позволяет организовывать естественные взаимодействия с веб-страницами. Реализация Ajax может оказаться немного сложной, если только вы не используете jQuery!

Что такое Ajax?

Термин Ajax возник в 2005 году как акроним от словосочетания Asynchronous JavaScript and XML (асинхронный JavaScript и XML). Многие пользователи посчитали данный термин сомнительным, поскольку они уже применяли Ajax в своей работе, но зачастую без технологий, упомянутых в данном акрониме. В конечном счете под этим термином просто понимается любая методика или технология, позволяющая пользователю взаимодействовать с сервером, не затрагивая существующую веб-страницу.

Метод взаимодействия с сервером без использования Ajax представляет собой знакомую нам модель, привычную для Интернета: пользователь щелкает по ссылке или отсылает форму, что приводит к отправки запроса на сервер. Сервер реагирует, передавая новую HTML-страницу, которую браузер загрузит и отобразит на экране пользователя. А пока страница будет загружаться, пользователю придется ждать и ждать.

Ajax позволяет отправлять запросы из браузера на сервер без необходимости перезагрузки страницы, то есть мы сможем обновить часть страницы, позволяя при этом пользователю продолжать с ней работать. Это дает возможность имитировать ощущение работы с клиентским приложением и обеспечивает для пользователей более естественный опыт общения с веб-страницами.

Поскольку Ajax выполняется в браузере, необходим способ динамического взаимодействия с сервером. Веб-браузеры имеют тенденцию поддерживать немного различающиеся методы, позволяющие его достичь. К счастью, JQuery избавляет нас от необходимости волноваться об этих различиях.

«Рабочая лошадка» Ajax в JQuery

Если вы проявите любопытство и проследите функцию load  в исходном коде основной библиотеки jQuery , то увидите, что в конце данной функции уютно устроился вызов метода $.ajax. Фактически если вы исследуете любую Ajax-функцию из состава jQuery, то столкнетесь с аналогичной ситуацией.

Все Ajax-функции, входящие в библиотеку jQuery, представляют собой простые обертки метода $.ajax, каждая из которых предусматривает наличие незатейливого интерфейса для пользователя, служащего для выполнения задач особого типа. Благодаря этому обеспечивается идеальный баланс между мощью и удобством использования.

Метод $.ajax является сердцем Ajax-возможностей библиотеки jQuery и самым мощным и конфигурируемым из доступных нам Ajax-методов . В силу того что данный метод наиболее сложен из имеющихся в арсенале jQuery, его освоение может потребовать определенного времени, однако игра стоит свеч — он представляет собой инструмент, с которым вы будете работать в большинстве ситуаций, связанных с Ajax.

Синтаксис, используемый в сочетании с методом $.ajax, достаточно сложен, однако он довольно прост в использовании. Вот пример обычного запроса GET:

$.ajax({
type: 'GET',
url: 'getDetails.php',
data: { id: 142 },
success function(data) {
// извлечено некоторое количество данных!
}; 
});

Здесь мы указываем тип запроса, URL-адрес для обращения к функции обратного вызова callback в опции success, где манипулируем данными. Все просто. Сложности возникают, когда речь заходит о количестве опций, которые можно указывать.

Всего доступно более 20 опций, варьирующих от callback-функций обратного вызова error, complete и success до имен пользователей и паролей для запросов на предмет проверки подлинности, а также функций для фильтрации данных для предварительной обработки возвращаемой информации.

В большинстве ситуаций вам потребуются только некоторые из этих опций — наиболее распространенные функции используют лишь небольшую их часть.