XMLHttpRequest: responseXML プロパティ

XMLHttpRequest.responseXML は読み取り専用のプロパティで、リクエストによって受け取った HTML または XML を含む Document、またはリクエストが成功しなかった場合、まだ送信されていない場合、データが XML または HTML として解釈できない場合は null を返します。

メモ: responseXML という名前はこのプロパティの歴史の遺物です。これは HTML および XML の両方で動作します。

ふつう、レスポンスは "text/xml" として解釈されます。 responseType が "document" に設定され、リクエストが非同期に行われた場合、レスポンスは代わりに "text/html" として解釈されます。他の型のデータでは、 data: の URL の場合と同様、 responseXMLnull になります。

サーバーが 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

関連情報