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 の場合と同様、 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

関連情報