このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

XMLHttpRequest: readyState プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

XMLHttpRequest.readyState プロパティは XMLHttpRequest (XHR) クライアントの状態を返します。XHR クライアントは次の状態のいずれかをとります。

状態 説明
0 UNSENT クライアントは作成済み。 open() はまだ呼ばれていない。
1 OPENED open() が呼び出し済み。
2 HEADERS_RECEIVED send() が呼び出し済みで、ヘッダーとステータスが利用可能。
3 LOADING ダウンロード中。responseText には部分データが入っている。
4 DONE 操作が完了した。
UNSENT

XMLHttpRequest クライアントは作成済みだが、まだ open() メソッドは呼ばれていない。

OPENED

open() メソッドは実行済み。この状態の間は、リクエストヘッダーを setRequestHeader() メソッドを使ってセットでき、send() メソッドを呼び出すと取得を開始できる。

HEADERS_RECEIVED

send() が呼び出され、(もしあれば)すべてのリダイレクトをたどり、 レスポンスヘッダーを受信しました。

LOADING

レスポンス本文を受信中。 responseType が "text" または空文字列の場合、 responseText は読み込み中の部分的なテキストになる。

DONE

取得操作が完了している。これはデータ転送が成功または失敗で完了したことを意味している。

js
const xhr = new XMLHttpRequest();
console.log("UNSENT", xhr.readyState); // readyState は 0 になる

xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState は 1 になる

xhr.onprogress = () => {
  console.log("LOADING", xhr.readyState); // readyState は 3 になる
};

xhr.onload = () => {
  console.log("DONE", xhr.readyState); // readyState は 4 になる
};

xhr.send(null);

仕様書

Specification
XMLHttpRequest
# states

ブラウザーの互換性