JavaScript XMLHttpRequest.readyState — стан запиту


Властивість readyState показує стан запиту — число від 0 до 4.

автор: NagarD

Загальний опис

Значення: 0 — не відкрито, 1 — відкрито, 2 — заголовки отримано, 3 — тіло вантажиться, 4готово.

Історично весь код писали на onreadystatechange із перевіркою readyState === 4 — саме цей рядок ти й досі бачиш у старих прикладах.

Сьогодні це зайве: подія onload спрацьовує рівно тоді, коли стан став 4. Тобто перевірка не потрібна взагалі.

автор: NagarD

Порада

Побачив if (xhr.readyState === 4) — перед тобою код із 2010-х. Те саме пишеться як xhr.onload = ....

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
readyState 1+ 1+ 1.2+ 8+ 12+ 7+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
readyState yes yes yes yes

Приклади

+ запропонувати свій приклад у пісочниці

Історичний спосіб і сучасний — роблять те саме.

const xhr = new XMLHttpRequest();

// так писали роками
xhr.onreadystatechange = () => {
    if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(xhr.responseText);
    }
};

// а це те саме, лише коротше
xhr.onload = () => console.log(xhr.responseText);

xhr.open('GET', '/api/data');
xhr.send();
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід