jQuery.ajax
HTTP接続を行うために使用しています。私のプロジェクトでは、カスタムの http ヘッダーを設定したいのですが、設定したものだけを送信したいと思います。現在、ヘッダーが送信されていますが、他にも設定していないヘッダーがいくつかあります。
これは、カスタム ヘッダーを追加する方法です。
$.ajax("http://fakedomain.foo", {headers: {header1: "value1", header2: "value2"}});
ヘッダーのコレクション全体を設定できず、追加のヘッダーのみを追加することができない場合でも、問題ないかもしれません。ただし、この場合でも、送信前にヘッダーが変更されることがあります。たとえば、これらのヘッダーを追加すると:
{
"Connection": "close",
"Accept-Encoding": "deflate, gzip",
"Accept": "text/plain",
}
次に、これが実際に送信されているものです(これを確認するためだけにWiresharkでキャプチャを作成しました)
{
"Connection": "close",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept": "text/plain, */*; q=0.01",
"Accept-Language": "es-ES,es;q=0.8",
"Dnt": "1",
"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3",
...
}
あなたが見ることができるように、いくつかの邪悪なゴブリングが私のヘッダーを微調整しており、「sdch」エンコーディングを「Accept-Encoding」ヘッダーに追加し、「Accept」ヘッダーも変更して*/*
. これは、WS が選り好みが強く、ヘッダーに基づいてさまざまなアクションを実行する必要がある場合、実際の問題です。
要約すると:
ヘッダーのみを送信し、余分なヘッダーを送信しない方法はありますか?
2.そうでない場合、カスタムヘッダーを変更せずにそのまま追加する方法はありますか?
更新:
ヘッダーを適切に設定していませんでした。(投稿したコードは正しいですが、単体テストにバグがあったため、実際にはヘッダーが追加されず、代わりにデフォルトのヘッダーが送信されました。これを修正した後、ヘッダーが正しいテキストで送信されていることがわかります。変更はありませんので、#2 は忘れてください. 質問 #1 はまだ適用されます.