我有一个网格和网格外的一些选项......我的代理是对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();..)
答案 0 :(得分:1)
每个代理都有一个额外的参数,可以添加到每个请求中。
答案 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()});
提出请求但在服务器端我无法阅读testParam2
。 Request["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'});
// <强> * ** * ** * ** * * 强> 其他问题:
使用上面的代码,我可以提出请求......但它完全独立于网格...检索的数据未处理...如何使网格执行请求?????我不知道....
// <强> * ** * ** * ** * 强> 解决方案:
删除上一个网格并使用新参数添加新网格!这对我有用!