1

jQuery.ajaxHTTP接続を行うために使用しています。私のプロジェクトでは、カスタムの 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 が選り好みが強く、ヘッダーに基づいてさまざまなアクションを実行する必要がある場合、実際の問題です。

要約すると:

  1. ヘッダーのみを送信し、余分なヘッダーを送信しない方法はありますか?

    2.そうでない場合、カスタムヘッダーを変更せずにそのまま追加する方法はありますか?


更新:
ヘッダーを適切に設定していませんでした。(投稿したコードは正しいですが、単体テストにバグがあったため、実際にはヘッダーが追加されず、代わりにデフォルトのヘッダーが送信されました。これを修正した後、ヘッダーが正しいテキストで送信されていることがわかります。変更はありませんので、#2 は忘れてください. 質問 #1 はまだ適用されます.

4

1 に答える 1