XMLHttpRequest: responseType プロパティ

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.

XMLHttpRequest (XHR) の responseType プロパティは列挙型の文字列値で、レスポンスに含まれているデータの型を示します。

作者がレスポンスの型を変更することもできます。 responseType の値として空文字列が設定された場合は、既定値である text が使用されます。

文字列で、レスポンスに含まれているデータの型を指定します。以下の値を取ることができます。

""

responseType が空の文字列の場合は "text" と同じで、既定の型です。

"arraybuffer"

response はバイナリーデータを含む JavaScript の ArrayBuffer です。

"blob"

response はバイナリーデータを含む Blob オブジェクトです。

"document"

responseHTMLDocument または XMLXMLDocument で、受信したデータの MIME タイプに基づいて適切な方になります。 XMLHttpRequest における HTML の扱いで、 XHR を使用して HTML コンテンツを読み取ることについて詳しく確認することができます。

"json"

responseJSON として受信したデータの内容を解釈して生成された JavaScript オブジェクトです。

"text"

response は文字列に入ったテキストです。

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

例外

InvalidAccessError DOMException

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

使用上の注意

同期 XHR の制限

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

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

ワーカーでの制限

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

仕様書

Specification
XMLHttpRequest
# the-responsetype-attribute

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
responseType
arraybuffer_value
blob_value
document_value
json_value

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Has more compatibility info.

関連情報