5

ブリーズにリクエストをさせる前にヘッダーを設定するにはどうすればよいですか?

例: 私のサービスは、特定のキーがヘッダー名「x-service-key」のリクエストの一部であると想定しています。今までjquery ajaxとamplifyを使っていたので、ヘッダーの設定はかなり楽でした。私はそよ風が行っているリクエストを制御できないため、ヘッダーなどの余分なものを渡すにはどうすればよいですか?

この質問は、IdeaBlade フォーラムの sujesharukil によって投稿されました。Breeze Stack Overflow コミュニティに役立つと思うので、ここに質問と回答を再投稿します。

4

1 に答える 1

7

Breeze 0.70.1 の時点で、サーバー上の Breeze クライアントと Web サービス間の Ajax 通信を完全にカスタマイズまたは置換する機能がサポートされるようになりました。

Ajax のサポートに関する Breeze のドキュメントはまだ作成中ですが、うまくいけば、次の手順で始めることができます。

Breeze が作成するすべての Ajax リクエストのヘッダーを制御するには、アプリの初回起動時に次のコードを実行します。

 var ajaxImpl = breeze.config.getAdapterInstance("ajax");
 ajaxImpl.defaultSettings = {
       headers: { 
           // any CORS or other headers that you want to specify.
           "X-Test-Header": "foo2" 
       },
};

または、個々の Ajax 呼び出しをインターセプトし、リクエストに基づいてヘッダーを選択的に追加することもできます。

 var ajaxImpl = breeze.config.getAdapterInstance("ajax");
 ajaxImpl.defaultSettings = {
       beforeSend: function(jqXHR, settings) {
              // examine the jqXHR or settings and customize the headers accordingly.
              jqXHR.setRequestHeader("X-Test-Before-Send-Header", "foo2");
       }
 };
于 2012-11-28T23:44:59.580 に答える