このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

XMLHttpRequest: responseType プロパティ

Baseline
広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2016年11月以降、すべてのブラウザーで利用可能です。

メモ: この機能はウェブワーカー内で利用可能ですが、サービスワーカーでは使用できません。

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

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

値

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

""

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

"arraybuffer"

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

"blob"

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

"document"

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

"json"

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

"text"

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

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

例外

InvalidAccessError DOMException

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

使用上の注意

同期 XHR の制限

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

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

ワーカーでの制限

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

仕様書

仕様書
XMLHttpRequest
# the-responsetype-attribute

ブラウザーの互換性

関連情報