--- title: XMLHttpRequest.response slug: Web/API/XMLHttpRequest/response tags: - AJAX - API - Content - Fetching - Fetching Data - Loading Data - Property - Read-only - Reading Data - Reference - Response - Server - XMLHttpRequest translation_of: Web/API/XMLHttpRequest/response ---
{{APIRef('XMLHttpRequest')}}

{{domxref("XMLHttpRequest")}} response プロパティは、そのリクエストの{{domxref("responseType")}}によって、{{domxref("ArrayBuffer")}}, {{domxref("Blob")}}, {{domxref("Document")}}, JavaScript {{jsxref("Object")}}, or {{domxref("DOMString")}}といったレスポンスのボディを返します。

構文

var body = XMLHttpRequest.response;

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

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

レスポンスタイプは以下のとおりです。

{{page("/en-US/docs/Web/API/XMLHttpRequestResponseType", "Values")}}

下記に、サーバーからページをロードして処理する関数load()を例として提示します。仕組みとしては、XMLHttpRequestオブジェクトを作成し、{{event("readystatechange")}}イベントのリスナー(readyStateイベントがDONE (4)に変わるとresponseが取得され、それをload()のコールバック関数に渡すといった)を作成しています。

コンテンツは生のテキストデータとして処理されます(デフォルトの{{domxref("XMLHttpRequest.responseType", "responseType")}}を上書きするものは何もないため)。

var url = 'somePage.html'; //A local page

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

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

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

仕様書

仕様書 状態 備考
{{SpecName('XMLHttpRequest', '#the-response-attribute')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

ブラウザの対応

{{Compat("api.XMLHttpRequest.response")}}

関連