XMLHttpRequest.readyState
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