Sencha Touch ajax预过滤器,为所有ajax请求提供url根



在Sencha触摸应用程序中,我可以使用某种ajax预过滤器并为我的所有请求(来自商店和模型)提供URL根吗?

还有一件事,

有没有办法为每个ajax请求添加一个AUTH-TOKEN头,alto?

谢谢!

Ext.Ajax.request是一个单例实例。您可以点击beforequest事件,更改/修改url,添加/删除标题,并根据需要进行所有其他修改。通过这种方式,您可以捕获所有的ajax请求。你应该能够在你的app.launch功能中做到这一点。
 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)。

但是,在建议如何在全球范围内应用标头之前,我需要了解更多关于您需要做什么的信息。在这样做之前,有很多事情需要考虑。

最新更新