Класс 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 должен находиться в том же каталоге, что и использующее его приложение.
Другие ресурсы
- Динамическое получение данных — учебное руководство по загрузке данных из статического файла или с сервера.
- Статья о работе с HttpRequest в Dart
- XMLHttpRequest в JS
- Использование XMLHttpRequest
- Наследование
-
- Object
- EventTarget
- HttpRequestEventTarget
- HttpRequest
- Аннотации
-
- @Native("XMLHttpRequest")
Конструкторы
- HttpRequest() фабричный
- Общий конструктор для запросов любого типа (GET, POST и т. д.).
Свойства
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- on → Events только для чтенияунаследовано
- Это удобный метод доступа к потокам событий, который следует использовать только в том случае, если явный метод доступа недоступен.
- onAbort → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
abort, обрабатываемых этим объектом HttpRequestEventTarget. - onError → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
error, обрабатываемых этим объектом HttpRequestEventTarget. - onLoad → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
load, обрабатываемых этим объектом HttpRequestEventTarget. - onLoadEnd → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
loadend, обрабатываемых этим объектом HttpRequestEventTarget. - onLoadStart → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
loadstart, обрабатываемых этим объектом HttpRequestEventTarget. - onProgress → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
progress, обрабатываемых этим объектом HttpRequestEventTarget. - onReadyStateChange → Stream<
Event> только для чтения - Слушатели событий, которым отправляется уведомление каждый раз, когда значение
readyStateобъекта HttpRequest изменяется. - onTimeout → Stream<
ProgressEvent> только для чтенияунаследовано - Поток событий
timeout, обрабатываемых этим объектом HttpRequestEventTarget. - readyState → int только для чтения
- Индикатор текущего состояния запроса:
- response → dynamic только для чтения
- Данные, полученные в ответ на запрос.
- responseHeaders → Map<
String, String> только для чтения - Возвращает все заголовки ответа в виде карты ключ-значение.
- responseText → String? только для чтения
- Ответ в виде строки или пустая строка в случае сбоя.
- responseType ↔ String чтение / запись
- String, указывающая серверу желаемый формат ответа.
- responseUrl → String? только для чтения
- responseXml → Document? только для чтения
- Ответ на запрос или null в случае сбоя.
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
- status → int? только для чтения
- Код результата HTTP-запроса (200, 404 и т. д.). См. также: Коды состояния HTTP
- statusText → String? только для чтения
- Строка ответа на запрос (например, "OK"). См. также: Коды состояния HTTP
- timeout ↔ int? чтение / запись
- Время в миллисекундах, по истечении которого запрос автоматически прекращается.
- upload → HttpRequestUpload только для чтения
- EventTarget, к которому можно добавить слушатели для отслеживания хода выполнения запроса.
- withCredentials ↔ bool? чтение / запись
- Значение true, если при межсайтовых запросах следует использовать учётные данные, например файлы cookie или заголовки авторизации; в противном случае — false.
Методы
- abort(
) → void - Останавливает текущий запрос.
- addEventListener(
String type, EventListener? listener, [bool? useCapture]) → void унаследовано - dispatchEvent(
Event event) → bool унаследовано - getAllResponseHeaders(
) → String - Возвращает все заголовки ответа на запрос.
- getResponseHeader(
String name) → String? - Возвращает заголовок ответа с именем
headerили null, если он не найден. - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- open(
String method, String url, {bool? async, String? user, String? password}) → void - Задаёт требуемые
urlиmethodдля выполнения запроса. - overrideMimeType(
String mime) → void - Задаёт конкретный тип MIME (например,
text/xml), требуемый для ответа. - removeEventListener(
String type, EventListener? listener, [bool? useCapture]) → void унаследовано - send(
[dynamic body_OR_data]) → void - Отправляет запрос с указанными
data. - setRequestHeader(
String name, String value) → void - Задаёт значение заголовка HTTP-запроса.
- toString(
) → String унаследовано - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
Статические свойства
- 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.19.6/dart-html/HttpRequest-class.html