2

我有一个网格和网格之外的一些选项......我的代理是对 ASPX 页面的 POST 请求。

_store = new Ext.data.JsonStore({
        proxy: new Ext.data.HttpProxy({
            url: 'resultpage.aspx?initalparam=1...',
            method: "POST"
        }),
        reader: _reader,...

我想要的是,当我选择任何选项时,将该选项添加为查询字符串参数(或发布参数)并发出发布请求。

参考:http ://www.objis.com/formationextjs/lib/extjs-4.0.0/docs/api/Ext.grid.Panel.html

注意:休闲代码不起作用只是想法。* ** * ** * ** * *

我正在寻找类似的东西:

myoption=...; //with DOM get option value
myurl = panelobj.getGrid().getStore().getProxy().getUrl();
panelobj.getGrid().getStore().getProxy().setUrl(myurl+"&myoption=" + myoption);
panelobj.Update();

或者更酷的东西,比如:

Ext.create('...ON OPTION CLICK...', append("&myoption=" + myoption); submit();..)
4

2 回答 2

1

你在找这个吗?http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.Ajax-cfg-extraParams

每个代理都有一个额外的参数,可以添加到每个请求中。

于 2012-04-20T00:01:23.350 回答
0

我看到这个例子http://www.sencha.com/forum/showthread.php?9067-Ext.data.HttpProxy-and-extraParams。假设 ds 是数据存储:

ds.proxy.getConnection().request({extraParams: { testParam2: 200 }, method: 'POST',url: ds.proxy.buildUrl()});

发出请求,但在服务器端我无法阅读testParam2Request["testParam2"]一片空白

这种方式对我不起作用(我使用版本 3)所以我使用params而不是extraParams http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Connection(表单参数: 邮政)

ds.proxy.getConnection().request({params: { testParam2: 200 }, method: 'POST',url: ds.proxy.buildUrl()});

另一种可能性是通过 url 传递(QueryString 参数:GET)

ds.proxy.getConnection().request(method: 'POST',url: ds.proxy.buildUrl() + '&testParam2=200'});

// * ** * ** * ** * * 其他问题:

使用上面的代码,我可以发出请求...但它完全独立于网格...检索的数据未处理...如何使网格执行请求??????我不知道....

// * ** * ** * ** * 解决方案:

删除以前的网格并添加具有新参数的新网格!那对我有用!

于 2012-04-20T15:29:58.777 回答