XMLHttpRequest.responseXML
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
" でも空文字列でもない。
例
js
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()
メソッド)