XMLHttpRequest: response プロパティ

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.

XMLHttpRequestresponse プロパティは、そのリクエストの本体の内容を、 ArrayBufferBlobDocument、JavaScript の Object、文字列など、リクエストの responseType プロパティの値に応じた形で返します。

responseType の値に基づく適切なオブジェクト。 open() を呼び出してリクエストを初期化した後や、 send() を呼び出してリクエストをサーバーに送信する前に、 responseType の値を設定することで、特定の形式でデータを提供するようにリクエストができます。

リクエストが未完了または失敗する場合、値は null です。ただし、 "text" や空の文字列 ("") を使用してテキストデータを読み込む場合は除きます。リクエストがまだ LOADING readyState (3) にある間、レスポンスはこれまでのレスポンスを含むことがあります。

この例で紹介している load() 関数は、サーバーからページを読み込み処理するものです。これは、 XMLHttpRequest オブジェクトを作成し、 readystatechange イベントのリスナーを生成して、その中で readyState イベントが DONE (4) に変わると response が取得し、 load() に渡されたコールバック関数に渡しています。

コンテンツは生のテキストデータとして扱われます(ここでは、既定の responseType を上書きするものがないため)。

js
const url = "somePage.html"; //A local page

function load(url, callback) {
  const xhr = new XMLHttpRequest();

  xhr.onreadystatechange = () => {
    if (xhr.readyState === 4) {
      callback(xhr.response);
    }
  };

  xhr.open("GET", url, true);
  xhr.send("");
}

仕様書

Specification
XMLHttpRequest Standard
# the-response-attribute

ブラウザーの互換性

BCD tables only load in the browser

関連情報