Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

5. После того как свойство

readyState
достигнет значения 4, можно проверить код состояния в свойстве
status
, чтобы убедиться, что запрос завершился успехом. В этом случае методом
getResponseHeader
или
getResponseHeaders
следует извлечь значения из заголовка ответа и с помощью свойства
responseText
или
responseXML
получить тело ответа.

Объект

XMLHttpRequest
определяет относительно высокоуровневый прикладной
интерфейс к протоколу HTTP. Он учитывает такие особенности, как обработка переадресации, управление cookies и обслуживание меж доменных запросов с заголовками CORS.

Возможности объекта

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
содержит строку «ЫоЬ», значением данного свойства будет объект
Blob
, представляющий двоичные данные в теле ответа.

readonly string responseText

Если значение свойства

readyState
меньше 3, данное свойство будет содержать пустую строку. Если значение свойства
readyState
равно 3, данное свойство возвращает часть ответа, которая была принята к текущему моменту. Если значение свойства
readyState
равно 4, это свойство содержит полное тело ответа.

Если в ответе имеется заголовок, определяющий кодировку символов в теле ответа, используется эта кодировка, в противном случае предполагается кодировка UTF-8.

string responseType

В спецификации ХHR2 это свойство определяет тип ответа и тип свойства

response
. Допустимыми значениями являются «text», «document», «arraybuffer» и «blob».

Значением по умолчанию является пустая строка, которая также является синонимом значения «text». Если установить это свойство вручную, последующие попытки обратиться к свойствам

responseText
и
responseXML
будут возбуждать исключения и для получения ответа сервера необходимо будет использовать свойство
response
, предусмотренное спецификацией XHR2.

readonly Document responseXML

Ответ на запрос, который интерпретируется как XML- или HTML-документ и возвращается в виде объекта

Document
. Это свойство будет иметь значение null, если тело ответа еще не получено или оно не является допустимым XML или HTML-документом.

readonly unsigned short status

HTTP-код состояния, полученный от сервера, такой как 200 - в случае успеха, 404 - в случае ошибки отсутствия документа или 0 - если сервер еще не прислал код состояния.

readonly string statusText

Это свойство содержит текст, соответствующий HTTP-коду состояния в ответе. То есть, когда свойство

status
имеет значение 200, это свойство содержит строку «ОК», а когда 404 - строку «Not Found». Это свойство содержит пустую строку, если сервер еще не прислал код состояния.

unsigned long timeout

Свойство, введенное спецификацией XHR2, определяющее предельное время ожидания ответа в миллисекундах. Если выполнение HTTP-запроса займет больше времени, чем указано в данном свойстве, он будет прерван и будет сгенерировано событие «timeout». Это свойство можно установить только после вызова метода

open
и перед вызовом метода
send.

Поделиться:
Популярные книги

Газлайтер. Том 22

Володин Григорий Григорьевич
22. История Телепата
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.25
рейтинг книги
Газлайтер. Том 22

Свобода на продажу: как мы разбогатели - и лишились независимости

Кампфнер Джон
Документальная литература:
публицистика
5.00
рейтинг книги
Свобода на продажу: как мы разбогатели - и лишились независимости

Ответ

Дери Тибор
1. Библиотека венгерской литературы
Проза:
роман
5.00
рейтинг книги
Ответ

ФЭНТЕЗИ-2004

Пехов Алексей Юрьевич
Фантастика:
фэнтези
5.75
рейтинг книги
ФЭНТЕЗИ-2004

Изгои

Владимиров Денис
5. Глэрд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Изгои

Неудержимый. Книга IV

Боярский Андрей
4. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IV

Первый среди равных. Книга IV

Бор Жорж
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IV

В этом мире еще можно удивляться

Лейн МаККайла
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
В этом мире еще можно удивляться

Интеллигенция на пепелище родной страны

Кара-Мурза Сергей Георгиевич
Научно-образовательная:
история
5.00
рейтинг книги
Интеллигенция на пепелище родной страны

Теория насилия (сборник)

Ленин Владимир Ильич
Научно-образовательная:
психология
политика
5.00
рейтинг книги
Теория насилия (сборник)

Эпоха Опустошителя. Том IV

Павлов Вел
4. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эпоха Опустошителя. Том IV

Стеллар. Компиляция. Книги 1-9

Прокофьев Роман Юрьевич
Стеллар
Фантастика:
киберпанк
рпг
постапокалипсис
технофэнтези
5.25
рейтинг книги
Стеллар. Компиляция. Книги 1-9

Хранители затерянных городов

Мессенджер Шеннон
1. Хранитель забытых городов
Фантастика:
фэнтези
сказочная фантастика
8.90
рейтинг книги
Хранители затерянных городов

Сосед

Голд Яна
Любовные романы:
5.00
рейтинг книги
Сосед