Как удалить HTTP специфичные заголовки в Javascript - PullRequest
14 голосов
/ 17 марта 2010

Можно ли перед отправкой сообщения 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

Привет

Ответы [ 4 ]

15 голосов
/ 17 марта 2010

Вы можете использовать метод setRequestHeader объекта XmlHttpRequest, если ваш браузер поддерживает его. Он является частью спецификации W3C . Это также реализовано в IE .

var req = new XMLHttpRequest();
req.setRequestHeader("Authorization", "");
5 голосов
/ 18 сентября 2015

Когда я использую jquery-file-upload и хочу удалить его в методе options, установка null или '' у меня не работает, я использую:

req.setRequestHeader("Authorization");

У меня это работает.

4 голосов
/ 17 марта 2010

Никогда не делал, но теоретически вы можете попробовать:

xhr.setRequestHeader('Authorization', null);

В некоторых реализациях также есть неопределенная функция removeRequestHeader(), вы можете попробовать ее.

0 голосов
/ 04 ноября 2015

Ответ Адама не сработал для меня. Тем не менее, следующие сделали:

xhr.setRequestHeader('Authorization', ' ');

обратите внимание, вторым параметром является строка, содержащая пробел вместо пустого пробела. Он не удаляет заголовок полностью, но устанавливает для него пустую строку, что может быть достаточно в некоторых случаях.

...