XMLHttpRequest.responseType

XMLHttpRequestresponseType プロパティは、列挙型の文字列地で、レスポンスに含まれているデータの型を示します。作者がレスポンスの型を変更することもできます。 responseType の値として空文字列が設定された場合は、既定値である text が使用されます。

構文

var type = XMLHttpRequest.responseType;

XMLHttpRequest.responseType = type;

文字列で、レスポンスに含まれているデータの型を指定する XMLHttpRequestResponseType 列挙型の値を取ります。

responseType を特定の値に設定する場合は、サーバーが実際にその形式と互換性のあるレスポンスを送信していることを確認してください。サーバーが responseType に設定された値と互換性のないデータを返した場合、 response の値は null になります。

responseType が対応している値は以下の通りです。

""
An empty responseType string is treated the same as "text", the default type.
arraybuffer
The response is a JavaScript ArrayBuffer containing binary data.
blob
The response is a Blob object containing the binary data.
document
The response is an HTML Document or XML XMLDocument, 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 DOMString 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.

例外

InvalidAccessError
responseType の値の変更が同期モードの XMLHttpRequest 上で試みられたものの、 Worker の中ではなかった場合。詳細については、下記の同期 XHR の制限を参照して下さい。

使用上の注意

同期 XHR の制限

responseType の値を同期 XMLHttpRequest で変更することは、リクエストが Worker に属している場合を除いてできません。この制限は、ブラウザーのメインスレッドをブロックしてユーザーの使い勝手を妨害する巨大なトランザクションが、同期操作で使用されないことを保証する対策の一環として設けられています。

XMLHttpRequest は既定では非同期です。同期モードは、 false の値をオプションの async 引数に渡して open() ろ呼び出した場合のみ設定されます。

Worker での制限

responseType の値を document に指定しようとすると、 Worker の中では失敗します。

仕様書

仕様書 状態 備考
XMLHttpRequest 現行の標準 WHATWG living standard

ブラウザーの互換性

BCD tables only load in the browser

関連情報