我目前有一个像这样的自定义代理类:
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
}
}
});
问题是,我无法在config或构造函数中设置我的标头值,因为这在过程中太早。在进行身份验证之前,在设置MyApp.app.authToken之前实例化此类。有没有办法可以在应用程序类中将头值设置为auth令牌,或者在身份验证发生之后,还是可以在其余代理的请求前事件中执行此操作?
问题出在API文档中,只有1个事件:Exception。我以为我可以使用代理上的BeforeRequest事件。
答案 0 :(得分: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)
}