Spec-Zone.ru › Dart 2

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) {
  print(error.toString());
});

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

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

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

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

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

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

Свойства

hashCode → int
только для чтения, унаследованное
Хэш-код этого объекта.
on → Events
только для чтения, унаследованное
Это удобный аксессор для потоков событий, который следует использовать только тогда, когда явный аксессор недоступен.
onAbort → Stream<ProgressEvent>
только для чтения, унаследованное
Поток abort событий, обрабатываемых этим HttpRequestEventTarget.
onError → Stream<ProgressEvent>
только для чтения, унаследованное
Поток error событий, обрабатываемых этим HttpRequestEventTarget.
onLoad → Stream<ProgressEvent>
только для чтения, унаследованное
Поток load событий, обрабатываемых этим HttpRequestEventTarget.
onLoadEnd → Stream<ProgressEvent>
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения, унаследованное
Поток loadend событий, обрабатываемых этим HttpRequestEventTarget.
onLoadStart → Stream<ProgressEvent>
только для чтения, унаследованное
Поток loadstart событий, обрабатываемых этим HttpRequestEventTarget.
onProgress → Stream<ProgressEvent>
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения, унаследованное
Поток progress событий, обрабатываемых этим HttpRequestEventTarget.
onReadyStateChange → Stream<Event>
только для чтения
Обработчики событий, которые будут уведомляться каждый раз, когда значения объекта HttpRequest readyState изменяются.
onTimeout → Stream<ProgressEvent>
только для чтения, унаследованное
Поток timeout событий, обрабатываемых этим HttpRequestEventTarget.
readyState → int
только для чтения
Индикатор текущего состояния запроса:
response → dynamic
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), только для чтения
Данные, полученные в ответ на запрос.
responseHeaders → Map<String, String>
только для чтения
Возвращает все заголовки ответа в виде карты ключ-значение.
responseText → String?
только для чтения
Ответ в виде строки или пустой строки при ошибке.
responseType ↔ String
чтение/запись
Строка, указывающая серверу желаемый формат ответа.
responseUrl → String?
@JSName('responseURL'), только для чтения
responseXml → Document?
@JSName('responseXML'), только для чтения
Ответ на запрос или null при ошибке.
runtimeType → Type
только для чтения, унаследованное
Представление типа объекта во время выполнения.
status → int?
только для чтения
Код HTTP-результата запроса (200, 404 и т. д.). См. также: Коды статуса HTTP
statusText → String?
только для чтения
Строка ответа запроса (например, "OK"). См. также: Коды статуса HTTP
timeout ↔ int?
чтение/запись
Длительность в миллисекундах, по истечении которой запрос автоматически прерывается.
upload → HttpRequestUpload
@Unstable(), только для чтения
EventTarget, который может содержать обработчики для отслеживания хода выполнения запроса.
withCredentials ↔ bool?
чтение/запись
True, если для межсайтовых запросов следует использовать учетные данные, такие как cookie или заголовки авторизации; false в противном случае.

Методы

abort() → void
Останавливает текущий запрос.
addEventListener(String type, EventListener? listener, [bool? useCapture]) → void
inherited
dispatchEvent(Event event) → bool
inherited
getAllResponseHeaders() → String
@Unstable()
Извлекает все заголовки ответа от запроса.
getResponseHeader(String name) → String?
@Unstable()
Возвращает заголовок ответа с именем header, или null, если он не найден.
noSuchMethod(Invocation invocation) → dynamic
inherited
Вызывается при попытке обратиться к несуществующему методу или свойству.
open(String method, String url, {bool? async, String? user, String? password}) → void
Указывает желаемый url, и method для выполнения запроса.
overrideMimeType(String mime) → void
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.SAFARI)
Указывает конкретный тип MIME (например, text/xml) для ответа.
removeEventListener(String type, EventListener? listener, [bool? useCapture]) → void
inherited
send([dynamic body_OR_data]) → void
Отправляет запрос с любым заданным data.
setRequestHeader(String name, String value) → void
Устанавливает значение HTTP-заголовка запроса.
toString() → String
inherited
Строковое представление этого объекта.

Операторы

operator ==(Object other) → bool
inherited
Оператор равенства.

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

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, dynamic sendData, void onProgress(ProgressEvent e)?}) → Future<HttpRequest>
Создаёт и отправляет запрос URL для указанного url.
requestCrossOrigin(String url, {String? method, String? sendData}) → Future<String>
Выполняет запрос к другому домену по указанному URL.

Константы

DONE → const int
4
HEADERS_RECEIVED → const int
2
LOADING → const int
3
OPENED → const int
1
readyStateChangeEvent → const EventStreamProvider<Event>
Статический фабричный метод, предназначенный для экспонирования readystatechange событий обработчикам событий, которые не обязательно являются экземплярами HttpRequest.
const EventStreamProvider<Event>('readystatechange')
UNSENT → const int
0

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/HttpRequest-class.html

Spec-Zone.ru

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