1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: XMLHttpRequest.readyState
slug: Web/API/XMLHttpRequest/readyState
tags:
- AJAX
- XMLHttpRequest
- Свойство
- Ссылка
translation_of: Web/API/XMLHttpRequest/readyState
---
<p>{{APIRef('XMLHttpRequest')}}</p>
<p><strong>Свойство XMLHttpRequest.readyState</strong> возвращает текущее состояние объекта XMLHttpRequest. Объект <abbr title="XMLHttpRequest">XHR</abbr> может иметь следующие состояния:</p>
<table class="standard-table">
<tbody>
<tr>
<td class="header">Значение</td>
<td class="header">Состояние</td>
<td class="header">Описание</td>
</tr>
<tr>
<td><code>0</code></td>
<td><code>UNSENT</code></td>
<td>Объект был создан. Метод <code>open()</code> ещё не вызывался.</td>
</tr>
<tr>
<td><code>1</code></td>
<td><code>OPENED</code></td>
<td><code>Метод open()</code> был вызван.</td>
</tr>
<tr>
<td><code>2</code></td>
<td><code>HEADERS_RECEIVED</code></td>
<td><code>Метод send()</code> был вызван, доступны заголовки (headers) и статус.</td>
</tr>
<tr>
<td><code>3</code></td>
<td><code>LOADING</code></td>
<td>Загрузка; <code>responseText</code> содержит частичные данные.</td>
</tr>
<tr>
<td><code>4</code></td>
<td><code>DONE</code></td>
<td>Операция полностью завершена.</td>
</tr>
</tbody>
</table>
<dl>
<dt>UNSENT</dt>
<dd>Объект XMLHttpRequest был создан, но метод <code>open()</code> ещё не вызывался.</dd>
<dt>OPENED</dt>
<dd>Был вызван метод open(). На этом этапе методом <a href="/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader">setRequestHeader()</a> могут быть установлены заголовки запроса (request headers), после чего для начала выполнения запроса может быть вызван метод <a href="/en-US/docs/Web/API/XMLHttpRequest/send">send()</a> .</dd>
<dt>HEADERS_RECEIVED</dt>
<dd>Был вызван метод send() и получены заголовки ответа (response headers) .</dd>
<dt>LOADING</dt>
<dd>Получена часть ответа. Если <code><a href="/en-US/docs/Web/API/XMLHttpRequest/responseType">responseType</a></code> - это пустая строка или имеет значение "text", <code><a href="/en-US/docs/Web/API/XMLHttpRequest/responseText">responseText</a></code> будет содержать загруженную порцию текста ответа.</dd>
<dt>DONE</dt>
<dd>Операция доставки данных завершена. Это может означать как то, что передача данных полностью завершена успешно, так и то, что произошла ошибка.</dd>
</dl>
<div class="note">
<p>Названия состояний отличаются в версиях Internet Explorer ранее 11. Вместо <code>UNSENT</code>, <code>OPENED</code>,<code> HEADERS_RECEIVED</code>,<code> LOADING</code> и <code>DONE, используются названия READYSTATE_UNINITIALIZED</code> (0), <code>READYSTATE_LOADING</code> (1), <code>READYSTATE_LOADED</code> (2), <code>READYSTATE_INTERACTIVE</code> (3) и <code>READYSTATE_COMPLETE</code> (4).</p>
</div>
<h2 id="Пример">Пример</h2>
<pre class="brush: js">var xhr = new XMLHttpRequest();
console.log('UNSENT', xhr.readyState); // readyState будет равно 0
xhr.open('GET', '/api', true);
console.log('OPENED', xhr.readyState); // readyState будет равно 1
xhr.onprogress = function () {
console.log('LOADING', xhr.readyState); // readyState будет равно 3
};
xhr.onload = function () {
console.log('DONE', xhr.readyState); // readyState будет равно 4
};
xhr.send(null);
</pre>
<h2 id="Спецификации">Спецификации</h2>
{{Specifications}}
<h2 id="Совместимость_браузеров">Совместимость браузеров</h2>
<p>{{Compat("api.XMLHttpRequest.readyState")}}</p>
|