在发送http消息之前,是否可以使用javascript / XmlHttpRequest删除某些特定的http标头?
我使用的是专有浏览器,因此无法使用特定于浏览器的解决方案。
例如,我想在发送消息
之前删除标题'Authorization'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
此致
答案 0 :(得分:15)
您可以使用XmlHttpRequest对象的setRequestHeader方法,假设您的浏览器支持它,它是W3C spec的一部分。 It is also implemented by IE
var req = new XMLHttpRequest();
req.setRequestHeader("Authorization", "");
答案 1 :(得分:4)
从未这样做过,但理论上你可以试试:
xhr.setRequestHeader('Authorization', null);
在某些实现中还有一个未指定的removeRequestHeader()
函数,您可能也想尝试一下。
答案 2 :(得分:4)
当我使用jquery-file-upload,并在options
方法中删除它时,设置为null
或''
对我不起作用,我使用:
req.setRequestHeader("Authorization");
它对我有用。
答案 3 :(得分:0)
亚当的回答对我不起作用。但是,以下做了:
xhr.setRequestHeader('Authorization', ' ');
注意,第二个参数是一个包含空格而不是空格的字符串。 它不会完全删除标题,而是将其设置为空字符串,这在某些情况下可能就足够了。