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 设置之前实例化,在 Authentication 发生之前。有什么方法可以将标头值设置为应用程序类中的身份验证令牌,无论是在身份验证发生后还是可以在休息代理的预请求事件中执行此操作?

问题出在 API 文档中,只有 1 个事件:异常。我认为我可以使用的代理上可能有一个 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 回答