XMLHttpRequest: responseType property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers, except for Service Workers.
The XMLHttpRequest
property
responseType
is an enumerated string value specifying
the type of data contained in the response.
It also lets the author change the
response type. If an empty string is set as the value of responseType
, the
default value of text
is used.
Value
A string which specifies what type of data the response contains. It can take the following values:
""
-
An empty
responseType
string is 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 a string.
Note:
When setting responseType
to a particular value, the author should make
sure that the server is actually sending a response compatible with that format. If
the server returns data that is not compatible with the responseType
that
was set, the value of response
will be
null
.
Exceptions
InvalidAccessError
DOMException
-
An attempt was made to change the value of
responseType
on anXMLHttpRequest
which is in synchronous mode but not in aWorker
. For additional details, see Synchronous XHR restrictions below.
Usage notes
Synchronous XHR restrictions
You cannot change the value of responseType
in a synchronous
XMLHttpRequest
except when the request belongs to a Worker
.
This restriction is designed in part to help ensure that synchronous operations aren't
used for large transactions that block the browser's main thread, thereby bogging down
the user experience.
XHR requests are asynchronous by default; they are only placed in
synchronous mode by passing false
as the value of the optional
async
parameter when calling open()
.
Restrictions in Workers
Attempts to set the value of responseType
to document
are
ignored in a Worker
.
Specifications
Specification |
---|
XMLHttpRequest Standard # the-responsetype-attribute |
Browser compatibility
BCD tables only load in the browser
See also
- Using XMLHttpRequest
- HTML in XMLHttpRequest
- The response data:
response
,responseText
, andresponseXML