XMLHttpRequest: response プロパティ
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
XMLHttpRequest の response プロパティは、そのリクエストの本体の内容を、 ArrayBuffer、Blob、Document、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"; // ローカルページ
function load(url, callback) {
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
callback(xhr.response);
}
};
xhr.open("GET", url, true);
xhr.send("");
}
仕様書
| 仕様書 |
|---|
| XMLHttpRequest> # the-response-attribute> |
ブラウザーの互換性
関連情報
- XMLHttpRequest の使い方
- テキストと HTML/XML データの取得:
XMLHttpRequest.responseTextおよびXMLHttpRequest.responseXML