Extjs 4 - 如何从当前加载的网格商店中获取带有参数的完整网址?

HyG*_*yGy 3 parameters url grid get extjs4

我有一个网格加载,我想获得当前存储URL,它将json数据加载到它,并传递一个额外的参数,并将此URL加载为pdf,或xls.但是我怎样才能获得网址?

Wil*_*ilk 8

获取代理和ExtraParams:

var url = grid.getStore().getProxy().url;
var params = grid.getStore().getProxy().extraParams;
Run Code Online (Sandbox Code Playgroud)

然后,构建网址:

var newUrl = url + '?' + Ext.Object.toQueryString (params);
Run Code Online (Sandbox Code Playgroud)

而newUrl将是这样的:

your_url_data.json?param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

我不认为存在执行此操作的代理方法,但您可以扩展现有代理,如下所示:

Ext.define ('MyProxy', {
    extend: 'Ext.data.proxy.Ajax' ,
    buildInternalUrl: function () {
        return this.url + '?' + Ext.Object.toQueryString (this.extraParams);
    }       
});
Run Code Online (Sandbox Code Playgroud)

然后:

var newUrl = grid.getStore().getProxy().buildInternalUrl ();
Run Code Online (Sandbox Code Playgroud)

结果是一样的;)

您可以在这里找到代理文档:Ajax Proxy