Возможности объекта >XMLHttpRequest
, описанные выше, прекрасно поддерживаются всеми современными броузерами. На момент написания этих строк велись работы над стандартом «XMLHttpRequest Level 2», и производители броузеров уже приступили к его реализации. Свойства, методы и обработчики событий, перечисленные ниже, включают особенности, введенные спецификацией «XMLHttpRequest Level 2», которые могут быть реализованы не во всех броузерах. Эти новые особенности помечены строкой «XHR2».
Конструктор
>new XMLHttpRequest()
Этот конструктор, не имеющий аргументов, возвращает новый объект >XMLHttpRequest
.
Константы
>unsigned short UNSENT = 0
Начальное состояние. Объект >XMLHttpRequest
только что создан или сброшен в исходное состояние вызовом метода >abort()
.
>unsigned short OPENED = 1
Метод >open()
уже вызван, но обращения к методу >send()
еще не было. Запрос еще не отправлен.
>unsigned short HEADERS.RECEIVED = 2
Вызван метод >send()
и приняты заголовки ответа, но тело ответа еще не принято.
>unsigned short LOADING = З
Начат прием тела ответа, но прием еще не завершился.
>unsigned short DONE = 4
HTTP-ответ принят полностью или прием был остановлен из-за ошибки.
Свойства
>readonly unsigned short readyState
Состояние HTTP-запроса. В момент создания объекта >XMLHttpRequest
это свойство приобретает значение 0, а к моменту получения полного HTTP-ответа это значение возрастает до 4. Возможные значения свойства определяют константы, перечисленные выше.
Значение свойства >readyState
может уменьшаться, только если в процессе выполнения запроса был вызван метод >abort()
или >ореп().
Теоретически при каждом изменении значения этого свойства должен вызываться обработчик события >onreadystatechange
. Однако на практике событие гарантированно возникает, только когда свойство >readyState
получает значение 4. (События «progress», введенные спецификацией XHR2, обеспечивают более надежный способ слежения за ходом выполнения запроса.)
>readonly any response
В спецификации XHR2 это свойство хранит ответ сервера. Тип свойства зависит от значения свойства >responseType
. Если >responseType
содержит пустую строку или строку «text», данное свойство содержит тело ответа в виде строки. Если >responseType
содержит строку «document», значением данного свойства будет объект >Document
, полученный в результате разбора XML- или HTML-документа в теле ответа. Если >responseType
содержит строку «arraybuffer», значением данного свойства будет объект >ArrayBuffer
, представляющий двоичные данные в теле ответа. А если >responseType
содержит строку «ЫоЬ», значением данного свойства будет объект