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 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 になります。
例外
InvalidAccessErrorDOMException-
responseTypeの値の変更が同期モードのXMLHttpRequest上で試みられたものの、ワーカー (Worker) の中ではなかった場合。詳細については、下記の同期 XHR の制限を参照してください。
使用上の注意
>同期 XHR の制限
responseType の値を同期 XMLHttpRequest で変更することは、リクエストがワーカー (Worker) に属している場合を除いてできません。この制限は、ブラウザーのメインスレッドをブロックしてユーザーの使い勝手を妨害する巨大なトランザクションが、同期操作で使用されないことを保証する対策の一環として設けられています。
XHR のリクエストは既定では非同期です。同期モードは、 false の値をオプションの async 引数に渡して open() を呼び出した場合のみ設定されます。
ワーカーでの制限
responseType の値を document に指定しようとすると、ワーカー (Worker) の中では失敗します。
仕様書
| Specification |
|---|
| XMLHttpRequest> # the-responsetype-attribute> |
ブラウザーの互換性
Loading…