2017-01-19 6 views
0

すべてのAjaxリクエストでグローバル変数値をデフォルトのリクエストヘッダーとして送信します。私が試したコードは以下ですリクエストのデフォルトヘッダーでグローバル変数値を送信する方法Ext JS

// fetches new token on every response 
    Ext.Ajax.on('requestcomplete', function(conn, response, options) { 
      if (!Ext.isEmpty(response) && !Ext.isEmpty(response.getResponseHeader("Token"))) { 
       MySharedData.myToken = response.getResponseHeader("Token"); 
      } 
     }); 

//sends the new token on every request for validation 
Ext.Ajax.defaultHeaders = { 
      newToken: MySharedData.myToken 
     }; 


Ext.define('MySharedData', { 
    singleton: true, 
    myToken: '' 
}); 

現在のところ、グローバル変数に値が正しく設定されています。しかし、私は要求のデフォルトのヘッダーに値を送信しようとします。空白値として送信されています。助けてください。

答えて

0

は、これらはあなたが追加することができ、リクエストヘッダフィールドです(referリクエストヘッダフィールドのトピック):

•受け入れ、文字セット

を•受け入れエンコード

•受け入れ言語

•承認

•期待値

あなたはどのようなデータを送信するためにextraParamsを使用することができ、ホスト

から

•....

•ユーザエージェント

ランダムな何かを追加ではなく、良い方法ではありません。

extraParams: { newToken : MySharedData.myToken }

それが承認された場合は、トークン、あなたは「認可」リクエストヘッダーフィールドに追加することができます。 defaultHeader jsonを送信します。要求のインスタンスを作成したら、デフォルトヘッダーフィールドを設定する方法についてはsetDefaultHeadersを参照してください。

関連する問題