ExtJS GridPanel将另一个参数添加到querystring

时间:2012-04-19 23:03:28

标签: javascript grid extjs

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

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

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

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

注意:暂停代码不起作用只是想法。 * ** * ** * ** < EM> * *

我正在寻找类似的东西:

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();..)

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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(表单参数:POST)

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'});

// <强> * ** * ** * ** * * 其他问题:

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

// <强> * ** * ** * ** * 解决方案:

删除上一个网格并使用新参数添加新网格!这对我有用!