JavaScript XMLHttpRequest.setRequestHeader() — заголовок запиту


Метод setRequestHeader() додає заголовок до запиту.

автор: NagarD

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

Викликати його можна лише між open() і send() — раніше чи пізніше буде помилка.

Частину заголовків браузер не дозволить задати взагалі: Host, Cookie, Content-Length, Origin, Referer. Ними керує сам браузер, і підмінити їх із коду не можна — це питання безпеки, а не зручності.

Повторний виклик із тим самим іменем не замінює значення, а дописує його через кому.

автор: NagarD

Нотатка

Виставляти Content-Type при відправці FormData — типова помилка. Браузер додає туди межу (boundary), і ручний заголовок її затирає, після чого сервер не може розібрати тіло.

автор: NagarD

Переглядачі

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

Приклади

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

Заголовки авторизації — і той, який чіпати не можна.

const token = 'secret-token-123';
const data = { id: 1 };

const xhr = new XMLHttpRequest();

xhr.open('POST', '/api/save');

// лише між open() і send(); значення — тільки латинка (ByteString)
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

// а це браузер мовчки проігнорує:
// xhr.setRequestHeader('Cookie', '...');

xhr.onerror = () => console.log('Сервера немає — але заголовки поставлено');
xhr.send(JSON.stringify(data));
автор: NagarD

Коментарі

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

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

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

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

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

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

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

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

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

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

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