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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
responseTypeChrome 完全対応 31Edge 完全対応 12Firefox 完全対応 6IE 完全対応 10Opera 完全対応 18Safari 完全対応 7WebView Android 完全対応 55Chrome Android 完全対応 55Firefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 6.0
arraybufferChrome 完全対応 31Edge 完全対応 ありFirefox 完全対応 6IE 完全対応 10Opera 完全対応 18Safari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 あり
blobChrome 完全対応 31Edge 完全対応 ありFirefox 完全対応 6IE 完全対応 10Opera 完全対応 18Safari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 あり
documentChrome 完全対応 31Edge 完全対応 ありFirefox 完全対応 11IE 完全対応 10Opera 未対応 なしSafari 完全対応 7WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 あり
jsonChrome 完全対応 31Edge 未対応 なしFirefox 完全対応 10IE 未対応 なしOpera 完全対応 18Safari 完全対応 7WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 あり
moz-blob
非推奨非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 12 — 58IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
moz-chunked-arraybuffer
非推奨非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 14 — 68IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 50 — 68Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報