Spec-Zone.ru › Dart 1

dart:html

Класс HttpRequest

Запрос XHR на стороне клиента для получения данных из URL, формально известный как XMLHttpRequest.

HttpRequest можно использовать для получения данных по HTTP и FTP протоколам, и он полезен для обновлений страниц в стиле AJAX.

Самый простой способ получить содержимое текстового файла, например, файла в формате JSON, — это использовать getString. Например, следующий код получает содержимое файла JSON и выводит его длину:

var path = 'myData.json';
HttpRequest.getString(path)
    .then((String fileContents) {
      print(fileContents.length);
    })
    .catchError((Error error) {
      print(error.toString());
    });

Получение данных с других серверов

По соображениям безопасности браузеры накладывают ограничения на запросы, выполняемые встроенными приложениями. В соответствии с поведением по умолчанию этого класса код, отправляющий запрос, должен быть расположен в том же источнике (имя домена, порт и протокол прикладного уровня), что и запрашиваемый ресурс. В примере выше файл myData.json должен находиться в той же директории, что и приложение, которое его использует. Вы можете объехать это ограничение, используя заголовки CORS или JSONP.

Другие ресурсы

  • Динамическое получение данных, учебник из Игры Дартс, демонстрирует два разных способа использования HttpRequest для получения файла JSON.
  • Получение ввода с формы, другой учебник из Игры Дартс, демонстрирует использование HttpRequest с пользовательским сервером.
  • Статья Dart об использовании HttpRequests
  • XMLHttpRequest JS
  • Использование XMLHttpRequest
Наследование
  • Object
  • JSObject
  • DartHtmlDomObject
  • EventTarget
  • HttpRequestEventTarget
  • HttpRequest
Аннотации
  • @DomName('XMLHttpRequest')

Константы

DONE → int
@DocsEditable(), @DomName('XMLHttpRequest.DONE')
4
HEADERS_RECEIVED → int
@DocsEditable(), @DomName('XMLHttpRequest.HEADERS_RECEIVED')
2
LOADING → int
@DocsEditable(), @DomName('XMLHttpRequest.LOADING')
3
OPENED → int
@DocsEditable(), @DomName('XMLHttpRequest.OPENED')
1
readyStateChangeEvent → EventStreamProvider<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequest.readystatechangeEvent')

Статический фабричный метод, предназначенный для экспонирования readystatechange событий обработчикам событий, которые необязательно являются экземплярами HttpRequest.

const EventStreamProvider<ProgressEvent>('readystatechange')
UNSENT → int
@DocsEditable(), @DomName('XMLHttpRequest.UNSENT')
0

Статические свойства

instanceRuntimeType → Type
@Deprecated("Только для внутреннего использования"), только для чтения
supportsCrossOrigin → bool
только для чтения

Проверяет, поддерживает ли текущая платформа запросы к другим источникам.

supportsLoadEndEvent → bool
только для чтения

Проверяет, поддерживает ли текущая платформа событие LoadEnd.

supportsOverrideMimeType → bool
только для чтения

Проверяет, поддерживает ли текущая платформа метод overrideMimeType.

supportsProgressEvent → bool
только для чтения

Проверяет, поддерживает ли текущая платформа событие Progress.

Статические методы

getString(String url, { bool withCredentials, void onProgress(ProgressEvent e) }) → Future<String>

Создает запрос GET для указанного url.

postFormData(String url, Map<String, String> data, { bool withCredentials, String responseType, Map<String, String> requestHeaders, void onProgress(ProgressEvent e) }) → Future<HttpRequest>

Выполняет запрос POST на сервер с указанными данными, закодированными как данные формы.

request(String url, { String method, bool withCredentials, String responseType, String mimeType, Map<String, String> requestHeaders, sendData, void onProgress(ProgressEvent e) }) → Future<HttpRequest>

Создает и отправляет запрос URL для указанного url.

requestCrossOrigin(String url, { String method, String sendData }) → Future<String>
@Experimental()

Выполняет запрос к другому источнику по указанному URL.

Конструкторы

HttpRequest()
factory

Общий конструктор для любого типа запроса (GET, POST и т.д.).

HttpRequest.internal_()

Свойства

onReadyStateChange → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequest.onreadystatechange'), только для чтения

Обработчики событий, которые уведомляются каждый раз, когда значения объекта HttpRequest изменяются.

readyState → int
@DocsEditable(), @DomName('XMLHttpRequest.readyState'), только для чтения

Индикатор текущего состояния запроса:

response → Объект
@DocsEditable(), @DomName('XMLHttpRequest.response'), @SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения

Данные, полученные в ответ на запрос.

responseHeaders → Map<Строка, Строка>
только для чтения

Возвращает все заголовки ответа в виде карты ключ-значение.

responseText → Строка
@DocsEditable(), @DomName('XMLHttpRequest.responseText'), только для чтения

Ответ в формате строки или пустая строка при ошибке.

responseType → Строка
@DocsEditable(), @DomName('XMLHttpRequest.responseType'), чтение/запись

Указание для сервера желаемого формата ответа.

responseUrl → Строка
@DocsEditable(), @DomName('XMLHttpRequest.responseURL'), @Experimental(), только для чтения
responseXml → Документ
@DocsEditable(), @DomName('XMLHttpRequest.responseXML'), только для чтения

Ответ на запрос, или null при ошибке.

status → int
@DocsEditable(), @DomName('XMLHttpRequest.status'), только для чтения

Код HTTP результата запроса (200, 404 и т. д.). См. также: HTTP коды состояния

statusText → Строка
@DocsEditable(), @DomName('XMLHttpRequest.statusText'), только для чтения

Строковое представление ответа на запрос (например, "200 OK"). См. также: HTTP коды состояния

timeout → int
@DocsEditable(), @DomName('XMLHttpRequest.timeout'), @Experimental(), чтение/запись

Время в миллисекундах, после которого запрос автоматически прерывается.

upload → HttpRequestUpload
@DocsEditable(), @DomName('XMLHttpRequest.upload'), @Unstable(), только для чтения

Объект, который может содержать обработчики событий для отслеживания прогресса запроса. Срабатывающие события будут членами HttpRequestUploadEvents.

withCredentials → bool
@DocsEditable(), @DomName('XMLHttpRequest.withCredentials'), чтение/запись

Истинно, если для межсайтовых запросов должны использоваться учетные данные, такие как куки или заголовки авторизации; ложно в противном случае.

hashCode → int
только для чтения, унаследованно
on → События
только для чтения, унаследованно

Это вспомогательный доступ к потокам событий, который следует использовать только тогда, когда явный доступтор недоступен.

onAbort → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onabort'), @Experimental(), только для чтения, унаследованно

Поток событий abort, обрабатываемых этим объектом HttpRequestEventTarget.

onError → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onerror'), @Experimental(), только для чтения, унаследованно

Поток событий error, обрабатываемых этим объектом HttpRequestEventTarget.

onLoad → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onload'), @Experimental(), только для чтения, унаследованно

Поток событий load, обрабатываемых этим объектом HttpRequestEventTarget.

onLoadEnd → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onloadend'), @Experimental(), @SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения, унаследованно

Поток событий loadend, обрабатываемых этим объектом HttpRequestEventTarget.

onLoadStart → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onloadstart'), @Experimental(), только для чтения, унаследованно

Поток событий loadstart, обрабатываемых этим объектом HttpRequestEventTarget.

onProgress → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.onprogress'), @Experimental(), @SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения, унаследованно

Поток событий progress, обрабатываемых этим объектом HttpRequestEventTarget.

onTimeout → Поток<ProgressEvent>
@DocsEditable(), @DomName('XMLHttpRequestEventTarget.ontimeout'), @Experimental(), только для чтения, унаследованно

Поток событий timeout, обрабатываемых этим объектом HttpRequestEventTarget.

runtimeType → Тип
только для чтения, унаследованно

Представление типа объекта во время выполнения.

Операторы

operator ==(other) → bool
унаследованно

Оператор равенства.

Методы

abort() → void
@DocsEditable(), @DomName('XMLHttpRequest.abort')

Остановить текущий запрос.

getAllResponseHeaders() → String
@DocsEditable(), @DomName('XMLHttpRequest.getAllResponseHeaders'), @Unstable()

Получить все заголовки ответа от запроса.

getResponseHeader(String name) → String
@DocsEditable(), @DomName('XMLHttpRequest.getResponseHeader'), @Unstable()

Возвращает заголовок ответа с именем header, или null, если не найден.

open(String method, String url, { bool async, String user, String password }) → void
@DocsEditable(), @DomName('XMLHttpRequest.open')

Указать желаемый url, и method для использования при выполнении запроса.

overrideMimeType(String mime) → void
@DocsEditable(), @DomName('XMLHttpRequest.overrideMimeType'), @SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.SAFARI)

Указать конкретный тип MIME (такой как text/xml) для ответа.

send([body_OR_data ]) → void
setRequestHeader(String name, String value) → void
@DocsEditable(), @DomName('XMLHttpRequest.setRequestHeader')

Устанавливает значение заголовка HTTP запроса.

addEventListener(String type, EventListener listener, [ bool useCapture ]) → void
inherited
dispatchEvent(Event event) → bool
@DocsEditable(), @DomName('EventTarget.dispatchEvent'), inherited
noSuchMethod(Invocation invocation) → dynamic
inherited

Вызывается, когда обращаются к несуществующему методу или свойству.

removeEventListener(String type, EventListener listener, [ bool useCapture ]) → void
inherited
toString() → String
inherited

Возвращает результат метода JavaScript-объектов toString.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/HttpRequest-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API