XMLHttpRequest: responseXML プロパティ
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.responseXML
は読み取り専用のプロパティで、リクエストによって受け取った HTML または XML を含む Document
、またはリクエストが成功しなかった場合、まだ送信されていない場合、データが XML または HTML として解釈できない場合は null
を返します。
メモ: responseXML
という名前はこのプロパティの歴史の遺物です。これは HTML および XML の両方で動作します。
ふつう、レスポンスは "text/xml
" として解釈されます。 responseType
が "document
" に設定され、リクエストが非同期に行われた場合、レスポンスは代わりに "text/html
" として解釈されます。他の型のデータでは、 data:
の URL の場合と同様、 responseXML
は null
になります。
サーバーが Content-Type
を "text/xml
" とも "application/xml
" とも指定しなかった場合、 XMLHttpRequest.overrideMimeType()
を使用して強制的に XML として解釈させることができます。
このプロパティはワーカーでは使用できません。
値
XMLHttpRequest
を用いて受け取った XML または HTML を解釈した Document
、またはデータを受け取っていなかったり、データが XML/HTML でな買ったりした場合は null
例外
InvalidStateError
DOMException
-
responseType
が "document
" でも空文字列でもない。
例
const xhr = new XMLHttpRequest();
xhr.open("GET", "/server");
// responseType を指定する場合は、空文字列または "document" でなければならない
xhr.responseType = "document";
// レスポンスを XML として解釈するよう強制する
xhr.overrideMimeType("text/xml");
xhr.onload = () => {
if (xhr.readyState === xhr.DONE && xhr.status === 200) {
console.log(xhr.response, xhr.responseXML);
}
};
xhr.send();
仕様書
Specification |
---|
XMLHttpRequest Standard # the-responsexml-attribute |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
XMLHttpRequest
XMLHttpRequest.response
XMLHttpRequest.responseType
- XML の解釈とシリアライズ
- XML を解釈して DOM ツリーに格納:
DOMParser
- DOM ツリーを XML にシリアライズ:
XMLSerializer
(特にserializeToString()
メソッド)