在Sencha触摸应用程序中,我可以使用某种ajax预过滤器并为我的所有请求(来自商店和模型)提供URL根吗?
还有一件事,
有没有办法为每个ajax请求添加一个AUTH-TOKEN头,alto?
谢谢!
Ext.Ajax.on('beforerequest', function(conn, request, eOpts){
// Your implementaion here. change request.url, request.headers etc
});
如果您通过Ext.data.proxy.Ajax.URL在商店代理上设置URL,可以通过以下两种方式之一进行设置。
第一:您可以扩展(或覆盖)类,自己添加逻辑。
第二:你可以这样配置你的网址:
//someplace define this...
var urlPrefix = function() {
return '/path/to/API/';
};
//in your store/proxy
Ext.define('MyApp.store.Foo', {
config : {
proxy : {
type : 'ajax',
url : urlPrefix() + 'API_endpoint'
}
}
});
我以前做过很多次。
至于Auth标头,您可以覆盖Ext.data.Connection以包含其他标头。这里的关键是,您需要在应用程序生命周期的早期覆盖它,因为其他类具有Ext.data.Connection的唯一实例(例如,Ext.Ajax)。
但是,在建议如何在全球范围内应用标头之前,我需要了解更多关于您需要做什么的信息。在这样做之前,有很多事情需要考虑。