Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Этапы выполнения AJAX запроса
Рассмотрим этапы выполнения AJAX запроса, представленные на схеме рис. 89. Рисунок 89 – Этапы выполнения AJAX запроса Создание экземпляра объекта XMLHttpRequest Объект XMLHttpRequest позволяет получать данные с сервера в фоновом режиме. Как правило, возвращаемая информация представляется в формате XML, но данный объект также позволяет работать с любыми текстовыми данными. Объект XMLHttpRequest впервые был реализован компанией Microsoft в виде объекта ActiveX. Сейчас он уже доступен в браузерах Mozilla, Netscape (начиная с 7-ой версии) а также в Safari (с версии 1.2), естественно, не в виде ActiveX-компоненты. Объект XMLHttpRequest представляет собой набор API функций, используемый в JavaScript, VBScipt и т.п. для передачи данных XML по протоколу HTTP. AJAX запросы создаются с использованием свойств и методов объекта XMLHttpRequest. Первым шагом становится создание экземпляра объекта XMLHttpRequest Стандартный синтаксис создания экземпляра объекта XMLHttpRequest Старые браузеры типа IE6 используют объект ActiveXObject вместо объекта XMLHttpRequest, поэтому синтаксис для создания экземпляра объекта для него будет отличатся от приведенного выше. Однако, разработчик не может заранее узнать какой именно браузер будет использоваться, поэтому программисты создают экземпляр объекта сразу двумя способами: Свойства объекта XMLHttpRequest Основные свойства объекта XMLHttpRequest представлены в таблице 11. Таблица 11 – Основные свойства объекта XMLHttpRequest
Методы объекта XMLHttpRequest Основные методы объекта XMLHttpRequest представлены в таблице 12. Таблица 12 - Основные методы объекта XMLHttpRequest
Отправка запроса на сервер На сервер данные отправляются при помощи методов open() и send() объекта XMLHttpRequest. Метод open() Варианты вызова: open( method, URL ); open( method, URL, async ); open( method, URL, async, userName ); open( method, URL, async, userName, password ). Параметр method представляет собой HTTP-метод. Чаще всего используются методы GET либо POST, однако иногда возникает необходимость использовать методы TRACE/DELETE/PUT. Подробное описание методов представлено в таблице 13.
Таблица 13 – Описание методов передачи данных
Параметр URL – адрес запроса. Чаще всего используется протокол HTTP/HTTPS, однако есть возможность использовать протоколы FTP или FILE: //. При передаче данных действует ограничение безопасности " same origin policy". Примечание. Принцип одинакового источника (англ. same origin policy) — это важная концепция безопасности для клиентских языков программирования, например JavaScript. Политика разрешает сценариям, находящимся на страницах одного сайта, доступ к методам и свойствам друг друга без ограничений, но предотвращает доступ к большинству методов и свойств для страниц на разных сайтах. Одинаковыми признаются источники, у которых совпадают три основных параметра: ü домен; ü порт; ü протокол. Параметр async. Принимает значение true или false, тем самым включая или отключая возможность отправки асинхронных запросов. Значение true устанавливается при использовании асинхронных запросов; Параметр userName, password - Передаются значения имени пользователя и пароля, нужные для HTTP-аутентификации. Примечание. Имя пользователя и пароль небезопасно хранить в скрипте, в особенности на клиентской части, так как данные аутентификации будут доступны сторонним пользователям. Рассмотрим стандартный синтаксис запроса с использованием метода GET. Синтаксис запроса: Метод send() Синтаксис запроса: Данный метод открывает соединение и отправляет запрос на сервер. В body находится тело запроса. Не у всякого запроса есть тело, например, у GET-запросов тела нет, а у POST – основные данные как раз передаются через body. Вместе с AJAX запросом на сервер могут быть переданы различные данные. Например, требуется создать калькулятор, складывающий два числа. Код будет выглядеть следующим образом:
В данном примере значения введенных чисел передаются методом GET и отправляются на сервер в теле запроса. При таком способе передачи все данные видны другим пользователям, и применять метод GET для работы с конфиденциальными данными не рекомендуется. Для работы с личными данными применяется метод POST. Рассмотрим стандартный синтаксис запроса с использованием метода POST: Как видно из примера, данные не передаются на сервер в теле запроса, тем самым обеспечивая большую конфиденциальность и безопасность передаваемых значений. Популярное:
|
Последнее изменение этой страницы: 2017-03-09; Просмотров: 723; Нарушение авторского права страницы