4

現在、次のようなカスタム プロキシ クラスがあります。

Ext.define('MyApp.proxy.SecureProxy', {
    alias: 'proxy.securerestproxy',
    extend: 'Ext.data.proxy.Rest',  

    constructor: function () {
        this.headers = {
           // "AUTH-TOKEN": MyApp.app.authToken
        }
        this.callParent(arguments);
    },

    config: {
        headers: {
            //"AUTH-TOKEN": MyApp.app.authToken
        }
    }       
});

問題は、プロセスの初期段階にあるため、構成またはコンストラクターでヘッダー値を設定できないことです。このクラスは、MyApp.app.authToken が設定される前、認証が行われる前にインスタンス化されます。認証が行われた後、または残りのプロキシの事前要求イベントでこれを行うことは可能ですか?

問題は API ドキュメントにあります。イベントは 1 つだけです: Exception. 使用できるプロキシに BeforeRequest イベントがあるのではないかと考えました。

4

1 に答える 1

3

いつでもできる

var headers = proxy.getHeaders() || {};
headers["AUTH-TOKEN"] = MyApp.app.authToken;
proxy.setHeaders(headers)

編集: Ext.Ajax シングルトンを変更することも可能です:

var defaultHeaders = Ext.Ajax.getDefaultHeaders() || {};

if (!defaultHeaders["AUTH-TOKEN"]) {
    defaultHeaders["AUTH-TOKEN"]  = MyApp.app.authToken;
    Ext.Ajax.setDefaultHeaders(defaultHeaders)
}
于 2012-12-23T15:49:57.860 に答える