HttpRequest class

A client-side XHR request for getting data from a URL, formally known as XMLHttpRequest.

HttpRequest can be used to obtain data from HTTP and FTP protocols, and is useful for AJAX-style page updates.

The simplest way to get the contents of a text file, such as a JSON-formatted file, is with getString. For example, the following code gets the contents of a JSON file and prints its length:

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

Fetching data from other servers

For security reasons, browsers impose restrictions on requests made by embedded apps. With the default behavior of this class, the code making the request must be served from the same origin (domain name, port, and application layer protocol) as the requested resource. In the example above, the myData.json file must be co-located with the app that uses it.

Other resources

Inheritance
Annotations
  • @Native("XMLHttpRequest")

Constructors

HttpRequest()
factory
General constructor for any type of request (GET, POST, etc). [...]

Properties

hashCodeint
read-only, inherited
The hash code for this object. [...]
onEvents
read-only, inherited
This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
onAbortStream<ProgressEvent>
read-only, inherited
Stream of abort events handled by this HttpRequestEventTarget.
onErrorStream<ProgressEvent>
read-only, inherited
Stream of error events handled by this HttpRequestEventTarget.
onLoadStream<ProgressEvent>
read-only, inherited
Stream of load events handled by this HttpRequestEventTarget.
onLoadEndStream<ProgressEvent>
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), read-only, inherited
Stream of loadend events handled by this HttpRequestEventTarget.
onLoadStartStream<ProgressEvent>
read-only, inherited
Stream of loadstart events handled by this HttpRequestEventTarget.
onProgressStream<ProgressEvent>
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), read-only, inherited
Stream of progress events handled by this HttpRequestEventTarget.
onReadyStateChangeStream<Event>
read-only
Event listeners to be notified every time the HttpRequest object's readyState changes values.
onTimeoutStream<ProgressEvent>
read-only, inherited
Stream of timeout events handled by this HttpRequestEventTarget.
readyStateint
read-only
Indicator of the current state of the request: [...]
response → dynamic
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), read-only
The data received as a reponse from the request. [...]
responseHeadersMap<String, String>
read-only
Returns all response headers as a key-value map. [...]
responseTextString?
read-only
The response in String form or empty String on failure.
responseTypeString
read / write
String telling the server the desired response format. [...]
responseUrlString?
@JSName('responseURL'), read-only
responseXmlDocument?
@JSName('responseXML'), read-only
The request response, or null on failure. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.
statusint?
read-only
The HTTP result code from the request (200, 404, etc). See also: HTTP Status Codes
statusTextString?
read-only
The request response string (such as "OK"). See also: HTTP Status Codes
timeoutint?
read / write
Length of time in milliseconds before a request is automatically terminated. [...]
uploadHttpRequestUpload
@Unstable(), read-only
EventTarget that can hold listeners to track the progress of the request. The events fired will be members of HttpRequestUploadEvents.
withCredentialsbool?
read / write
True if cross-site requests should use credentials such as cookies or authorization headers; false otherwise. [...]

Methods

abort() → void
Stop the current request. [...]
addEventListener(String type, EventListener? listener, [bool? useCapture]) → void
inherited
dispatchEvent(Event event) → bool
inherited
getAllResponseHeaders() → String
@Unstable()
Retrieve all the response headers from a request. [...]
getResponseHeader(String name) → String?
@Unstable()
Return the response header named header, or null if not found. [...]
noSuchMethod(Invocation invocation) → dynamic
inherited
Invoked when a non-existent method or property is accessed. [...]
open(String method, String url, {bool? async, String? user, String? password}) → void
Specify the desired url, and method to use in making the request. [...]
overrideMimeType(String mime) → void
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.SAFARI)
Specify a particular MIME type (such as text/xml) desired for the response. [...]
removeEventListener(String type, EventListener? listener, [bool? useCapture]) → void
inherited
send([dynamic body_OR_data]) → void
Send the request with any given data. [...]
setRequestHeader(String name, String value) → void
Sets the value of an HTTP request header. [...]
toString() → String
inherited
A string representation of this object. [...]

Operators

operator ==(Object other) → bool
inherited
The equality operator. [...]

Static Properties

supportsCrossOriginbool
read-only
Checks to see if the current platform supports making cross origin requests. [...]
supportsLoadEndEventbool
read-only
Checks to see if the LoadEnd event is supported on the current platform.
supportsOverrideMimeTypebool
read-only
Checks to see if the overrideMimeType method is supported on the current platform.
supportsProgressEventbool
read-only
Checks to see if the Progress event is supported on the current platform.

Static Methods

getString(String url, {bool? withCredentials, void onProgress(ProgressEvent e)}) → Future<String>
Creates a GET request for the specified url. [...]
postFormData(String url, Map<String, String> data, {bool? withCredentials, String? responseType, Map<String, String>? requestHeaders, void onProgress(ProgressEvent e)}) → Future<HttpRequest>
Makes a server POST request with the specified data encoded as form data. [...]
request(String url, {String? method, bool? withCredentials, String? responseType, String? mimeType, Map<String, String>? requestHeaders, dynamic sendData, void onProgress(ProgressEvent e)}) → Future<HttpRequest>
Creates and sends a URL request for the specified url. [...]
requestCrossOrigin(String url, {String? method, String? sendData}) → Future<String>
Makes a cross-origin request to the specified URL. [...]

Constants

DONE → const int
4
HEADERS_RECEIVED → const int
2
LOADING → const int
3
OPENED → const int
1
readyStateChangeEvent → const EventStreamProvider<Event>
Static factory designed to expose readystatechange events to event handlers that are not necessarily instances of HttpRequest. [...]
const EventStreamProvider<Event>('readystatechange')
UNSENT → const int
0

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