XMLHttpRequest.readyState プロパティは XMLHttpRequest クライアントの状態を返します。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
- 取得操作が完了している。つまりデータ転送が完全に成功したか失敗したかどちらでもありうる。
状態名は Internet Explorer 11 以前のバージョンと異なります。UNSENT
, OPENED
, HEADERS_RECEIVED
, LOADING
,DONE
, の代わりに、READYSTATE_UNINITIALIZED
(0), READYSTATE_LOADING
(1), READYSTATE_LOADED
(2), READYSTATE_INTERACTIVE
(3) and READYSTATE_COMPLETE
(4) が使われています。
例
var xhr = new XMLHttpRequest();
console.log('UNSENT', xhr.readyState); // readyState will be 0
xhr.open('GET', '/api', true);
console.log('OPENED', xhr.readyState); // readyState will be 1
xhr.onprogress = function () {
console.log('LOADING', xhr.readyState); // readyState will be 3
};
xhr.onload = function () {
console.log('DONE', xhr.readyState); // readyState will be 4
};
xhr.send(null);
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
XMLHttpRequest | 現行の標準 | WHATWG living standard |
ブラウザ実装状況
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.