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
よろしく
ブラウザがサポートしていると仮定して、XmlHttpRequestオブジェクトのsetRequestHeaderメソッドを使用できます。これは W3C仕様 の一部です。 IEでも実装されています 。
var req = new XMLHttpRequest();
req.setRequestHeader("Authorization", "");
Jquery-file-uploadを使用していて、options
メソッドのヘッダーを削除したい場合、それをnull
または_''
_に設定しても機能しません。私は代わりにこれを使用します:
req.setRequestHeader("Authorization");
一度もやったことはありませんが、理論的には次のことを試すことができます。
_xhr.setRequestHeader('Authorization', null);
_
一部の実装には不特定のremoveRequestHeader()
関数もありますが、それも試してみることをお勧めします。
アダムの答えは私にはうまくいきませんでした。ただし、次のことを行いました。
xhr.setRequestHeader('Authorization', ' ');
2番目のパラメータは、空のスペースではなくスペースを含む文字列であることに注意してください。ヘッダーを完全に削除するわけではありませんが、空の文字列に設定します。これで十分な場合もあります。