Для осуществления обмена данными на странице создаётся объект XMLHttpRequest. Он используется для взаимодействия между клиентским Браузером и Сервером. Объект XMLHttpRequest позволяет отправить запрос на сервер и получить от него ответ в виде определённых данных.
Что такое асинхронная передача данных Ajax?
Технология AJAX отличается от многих других асинхронной передачей данных. Это, например, когда пользователь совершил какое-то действие (оценил, лайкнул и тд) и может дальше работать с данной страницей, пока данные в фоновом режиме без обновления страницы обрабатываются и выводятся на этой же странице. Во время обработки следует выводить сообщение для клиента о том, что запрос отправлен и идёт обработка, чтобы он, по ошибке, не решил, что его действия не возымели результата. Активную интеграцию подобных технологий осуществляют социальные сети (vk.com, facebook.com), поисковые и почтовые системы (yandex.ru, google.ru).
Способы обмена данными в Ajax
1) GET-запрос - обращение к файлу на сервере. Данные передаются через URL. На стороне клиента рекомендуется использовать функцию js - escape, чтобы при обмене данных запрос не был прерван. Слеудет использовать при небольших объёмах информации. Часто используют для получения одного или нескольких параметров с сервера.
2) POST-запрос - вид запроса, используемый, как правило, для больших объёмов данных, для обновления или добавления информации.
Назначение клиентской части - обеспечение должной безопасности при отправке и приёме данных с сервера, а серверной части - обработка полученных данных и формирование ответа с новой информацией, в случае работы с базой данных (Что такое база данных?), для клиента.
Ответ сервера может быть, например, в виде HTML, XML или JSON (Javascript Object Notation). Текст может быть выведен на странице. Ответ в XML обрабатывается и выводится в (X)HTML-данных. В случае с JSON клиентом выполняется полученный код (функция Javascript'а eval). С Javascript самый сложный вариант - получаемые данные нужно обработать, чтобы не допустить выполнения вредоносного кода. Есть понятие холостого запроса - изменяются данные на стороне сервера, ответ не приходит.