Добавляем...


XMLHTTP
Рассмотренные до сих пор приемы представляли собой нестандартное применение стандартных возможностей браузера. Эти приемы не обеспечивают полного спектра средств поддержки RPC-запросов в рамках HTTP, например проверку возвращаемых HTTP-кодов и указание информации типа имя/пароль для аутентификации запросов. Современные браузеры позволяют выполнять RPC-запросы в JavaScript значительно элегантнее, с поддержкой гибкого интерфейса, который обеспечивает указанные воз-можности, отсутствующие в рамках предложенных выше искусственных подходов.

В Internet Explorer 5+ поддерживается объект XMLHTTP, а в браузерах на базе Mozilla- объект XMLHTTPRequest. Эти объекты позволяют создавать произвольные HTTP-запросы (включая запросы POST), направлять их серверу и читать полные ответы включая заголовки. В табл. описываются свойства и методы объекта XMLHTTP.
Свойство или метод Описание
readyState Целое число, указывающее состояние запроса, - это 0 (неинициализирован), 1 (зцгрузка), 2 (получены заголовки ответа), 3 (получена часть содержимого ответа} или 4 (запрос завершен)
onreadystatechange Функция, вызываемая при изменении readyState
status HTTP-код состояния, возвращенный сервером (например, "200")
statusText Полная строка HTTP-состояния, возвращенная сервером (например, "200 ОК")
responseText Полный ответ сервера в виде строки
responseXML Объект Document, представляющий ответ сервера, рассмотренный как документ XML
abort() Отменяет асинхронный HTTP-запрос
getAllResponseHeaders() Возвращает строку, содержащую все HTTP-заголовки, имеющиеся в ответе сервера. Каждый заголовок - это пара имя/значение, в качестве разделителя используется двоеточие, а строки заголовка разделяются парой символов возврат каретки/переход на новую строку
getResponseHeader (имяЗаголовка) Возвращает строку, соответствующую значению имяЗаголовка возвращенного сервером ответа (например, request.getResponseHeader("Set-cookie"))
open (метод, url[, асинхронный(, пользователь, пароль]]) Инициализирует запрос при отправке его серверу. Параметр метод - это HTTP-метод, который следует использовать, например GET или POST. Параметр url задает адрес URL, по которому будет направлен запрос. Необязательный параметр асинхронный указывает, возвратится ли send() немедленно или после того, как завершится обработка запроса (значением по умолчанию является true, означающее немедленный возврат). Необязательные аргументы пользователь и пароль используются тогда, когда для данного URL требуется НТТР-аутентификация. Если для требующего аутентификации URL не будет указано никаких параметров, пользователю будет предложено ввести их
setRequestHeader (имя, значение) Добавляет HTTP-заголовок, заданный значениями имя (без двоеточия) и значение
send (содержимое) Инициирует запрос к серверу. Параметр содержимое должен содержать текст запроса, т.е. строку вида имяполя=значение&имяполя2=значение2... для запросов POST или пустую строку (" ") для запросов GET

Замечание. В Internet Explorer поддерживаются два свойства, не указанные в таблице. Свойство responseBody содержит ответ сервера в виде необработанного (нерасшифрованного) массива байтов, a responseStream содержит объект, предлагающий интерфейс istream, посредством которого можно получить доступ к ответу сервера. Mozilla поддерживает свойство onload, которому можно назначить функцию, вызываемую при завершении об-работки асинхронного запроса. Поскольку эти свойства специфичны для соответствующих браузеров, мы их обсуждать не будем. Подробная информация об этих свойствах имеется на Web-узлах производителей соответствующих браузеров.

Некоторые свойства и методы из таблицы, например responseText и getAllResponseHeaders(), недоступны до завершения обработки запроса. Попытка получить доступ к ним до того, как они будут готовы, генерирует исключительную ситуацию.
назад:
далее:


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика