Если вы совершенно не знакомы с AJAX (что означает асинхронный Javascript и XML), запись AJAX в википедии является хорошей отправной точкой:
Подобно DHTML и LAMP, AJAX - это не технология сама по себе, а группа технологий. AJAX использует комбинацию:
- HTML и CSS для разметки и стилизации информации.
- Доступ к модели DOM осуществляется с помощью JavaScript для динамического отображения представленной информации и взаимодействия с ней.
- Метод асинхронного обмена данными между браузером и сервером, позволяющий избежать перезагрузки страницы. Обычно используется объект XMLHttpRequest (XHR), но иногда вместо него используется объект IFrame или динамически добавляемый тег.
- Формат данных, отправляемых в браузер. Общие форматы включают XML, предварительно отформатированный HTML, простой текст и нотацию объектов JavaScript (JSON). Эти данные могут быть созданы динамически с помощью некоторой формы сценариев на стороне сервера.
Как видите, с чисто технологической точки зрения здесь нет ничего принципиально нового. Большинство частей AJAX уже было там в 1994 году (для XMLHttpRequest
объекта 1999 год ). Настоящей новинкой было использование этих частей вместе, как это сделал Google с GMail (2004 г.) и Google Maps (2005 г.). Фактически, оба сайта внесли большой вклад в продвижение AJAX.
Картинка, которая стоит тысячи слов, под диаграммой, которая иллюстрирует взаимодействие между клиентом и удаленным сервером, а также различия между классическими приложениями и приложениями на базе AJAX:
Что касается оранжевой части, вы можете делать все вручную (с помощью XMLHttpRequest
объекта) или использовать известные библиотеки JavaScript, такие как jQuery , Prototype , YUI и т. Д., Для «AJAXify» клиентской части вашего приложения. Такие библиотеки призваны скрыть сложность разработки JavaScript (например, кроссбраузерность), но могут быть излишними для простой функции.
На стороне сервера также могут помочь некоторые фреймворки (например, DWR или RAJAX, если вы используете Java), но все, что вам нужно сделать, это в основном предоставить службу, которая возвращает только необходимую информацию для частичного обновления страницы (первоначально как XML / XHTML - X в AJAX, но в настоящее время часто предпочитают JSON ).