Как удалить HTTP-заголовки в Javascript
Возможно ли до отправки HTTP-сообщения удалить некоторые определенные заголовки HTTP, используя javascript/XmlHttpRequest?
Я использую проприетарный браузер, поэтому нет способа сделать это, используя конкретное решение для браузера.
Например, я хочу удалить заголовок "Авторизация" перед отправкой сообщения
POST /social/rpc?oauth_version=1.0& ... HTTP/1.1
Accept: text/html, image/png, image/*, */*
Accept-Language: ko
Authorization: Basic Og==
Host: test.myhost.com
Привет
Ответы
Ответ 1
Вы можете использовать метод setRequestHeader объекта XmlHttpRequest, предполагая, что ваш браузер поддерживает его, Он является частью спецификации W3C. Он также реализован IE.
var req = new XMLHttpRequest();
req.setRequestHeader("Authorization", "");
Ответ 2
Когда я использую jquery-file-upload и хочу удалить заголовок в методе options
, установка его на null
или ''
не работает для меня. Я использую это вместо:
req.setRequestHeader("Authorization");
Ответ 3
Никогда не делал этого, но теоретически вы могли бы попробовать:
xhr.setRequestHeader('Authorization', null);
В некоторых реализациях также есть неопределенная функция removeRequestHeader()
, вы можете попробовать попробовать.
Ответ 4
Ответ Адама не помог мне. Однако следующее:
xhr.setRequestHeader('Authorization', ' ');
второй параметр - это строка, содержащая пробел вместо пустого пространства.
Он не полностью удаляет заголовок, но устанавливает его в пустую строку, чего может быть достаточно для некоторых случаев.