---
title: XMLHttpRequest.response
slug: Web/API/XMLHttpRequest/response
tags:
  - AJAX
  - API
  - コンテンツの読み取り
  - データの読み取り
  - データの読み込み
  - プロパティ
  - 読み取り専用
  - Reading Data
  - リファレンス
  - Response
  - サーバー
  - XMLHttpRequest
translation_of: Web/API/XMLHttpRequest/response
---
{{APIRef('XMLHttpRequest')}}

{{domxref("XMLHttpRequest")}} の **`response`** プロパティは、そのリクエストの本文の内容を、 {{jsxref("ArrayBuffer")}}, {{domxref("Blob")}}, {{domxref("Document")}}, JavaScript の {{jsxref("Object")}}, {{domxref("DOMString")}} など、リクエストの {{domxref("XMLHttpRequest.responseType", "responseType")}} プロパティの値に応じた形で返します。

## 構文

```js
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) にある間、レスポンスはこれまでのレスポンスを含むことがあります。

## 例

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

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

```js
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('');
}
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [XMLHttpRequest の使用](/ja/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest)
- テキストと HTML/XML データの取得: {{domxref("XMLHttpRequest.responseText")}} および {{domxref("XMLHttpRequest.responseXML")}}