JavaScript XMLHttpRequest.open() — налаштувати запит
Метод open() налаштовує запит: метод (GET, POST) і адресу. Сам запит він ще не надсилає.
Загальний опис
Третій аргумент — асинхронність, і за замовчуванням він true. Передати туди false означає зробити запит синхронним — і повністю заморозити сторінку до відповіді сервера.
Браузери за це лають у консолі й поступово забирають підтримку. Синхронний запит — це те, чого робити не можна ніколи.
Заголовки (setRequestHeader) виставляють після open(), але до send() — інакше буде помилка.
- Нотатка
-
Третій аргумент
автор: NagarDfalse(синхронний запит) заморожує весь браузер. Він застарілий, і в консолі за нього лають. Не використовуй.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| open | 1+ | 1+ | 1.2+ | 8+ | 12+ | 7+ |
| Переглядач | ||||
|---|---|---|---|---|
| open | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Порядок викликів: open → заголовки → send.
const xhr = new XMLHttpRequest();
// 1. налаштували
xhr.open('POST', '/api/save');
// 2. заголовки — лише ПІСЛЯ open і ДО send
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = () => console.log(xhr.status);
// 3. надіслали
xhr.send(JSON.stringify({ title: 'Звіт' }));
// НІКОЛИ так: заморозить сторінку
// xhr.open('GET', '/api', false);
Коментарі
Коментарів ще немає — будьте першим!