The XMLHttpRequest
response
property returns the response's body content as an ArrayBuffer
, Blob
, Document
, JavaScript Object
, or DOMString
, depending on the value of the request's responseType
property.
Syntax
var body = XMLHttpRequest.response;
Value
An appropriate object based on the value of responseType
. You may attempt to request the data be provided in a specific format by setting the value of responseType
after calling open()
to initialize the request but before calling send()
to send the request to the server.
The value is null
if the request is not yet complete or was unsuccessful, with the exception that when reading text data using a responseType
of "text"
or the empty string (""
), the response can contain the response so far while the request is still in the LOADING
readyState
(3).
The response types are described below.
""
- An empty
responseType
string is treated the same as"text"
, the default type. arraybuffer
- The
response
is a JavaScriptArrayBuffer
containing binary data. blob
- The
response
is aBlob
object containing the binary data. document
- The
response
is an HTMLDocument
or XMLXMLDocument
, as appropriate based on the MIME type of the received data. See HTML in XMLHttpRequest to learn more about using XHR to fetch HTML content. json
- The
response
is a JavaScript object created by parsing the contents of received data as JSON. text
- The
response
is a text in aDOMString
object. ms-stream
- The
response
is part of a streaming download; this response type is only allowed for download requests, and is only supported by Internet Explorer.
Example
This example presents a function, load()
, which loads and processes a page from the server. It works by creating an XMLHttpRequest
object and creating a listener for readystatechange
events such that that when readyState
changes to DONE
(4), the response
is obtained and passed into the callback function provided to load()
.
The content is handled as raw text data (since nothing here is overriding the default responseType
).
var url = 'somePage.html'; //A local page function load(url, callback) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { callback(xhr.response); } } xhr.open('GET', url, true); xhr.send(''); }
Specifications
Specification | Status | Comment |
---|---|---|
XMLHttpRequest | Living Standard | WHATWG living standard |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
response | Chrome Full support 9 | Edge Full support 12 | Firefox Full support 6 | IE Full support 10 | Opera Full support 11.6 | Safari Full support 5.1 | WebView Android Full support ≤37 | Chrome Android Full support 18 | Firefox Android Full support 6 | Opera Android Full support 12 | Safari iOS Full support 6 | Samsung Internet Android Full support 1.0 |
Legend
- Full support
- Full support
See also
- Using XMLHttpRequest
- Getting text and HTML/XML data:
XMLHttpRequest.responseText
andXMLHttpRequest.responseXML