在ExtJS中,如何使store.load(config)发送的参数不限于预定义的参数?
我正在对商店执行远程筛选 我编写了如下代码:在ExtJS中,如何使store.load(config)发送的参数不限于预定义的参数?,extjs,extjs4,Extjs,Extjs4,我正在对商店执行远程筛选 我编写了如下代码: myStore.load({ limit: 8, foo: 'foo is never sent', filters:[{'property':'some property','value':30,'comparison':'lt','field':'age'}] }); 它最终使用GET方法发送到服务器,参数如下:(来自chrome/firebug) 请求的URL: myServerPage.php?_dc=1327757
myStore.load({
limit: 8,
foo: 'foo is never sent',
filters:[{'property':'some property','value':30,'comparison':'lt','field':'age'}]
});
它最终使用GET方法发送到服务器,参数如下:(来自chrome/firebug)
请求的URL:
myServerPage.php?_dc=1327757119914&page=1&start=0&limit=8&filter=%5B%7B%22property%22%3A%22some%20property%22%2C%22value%22%3A30%7D%5D
缺少“foo”,更重要的是,在传递的“filter”对象中,只发送了“property”和“value”。(我认为这两个是预定义的,filter config不接受其他键和值)
如何使用load()将自己的参数发送到服务器,尤其是在“过滤器”部分?另一种方式:
myStore.load({
params: {
foo: 'foo'
}
})
myStore.getProxy().extraParams= {search: "something"}
我认为你需要用真实的例子来改进你的问题,因为不仅foo从来没有发送过,filters也没有发送过——相反,你说它发送类似这样的东西(不是很精确),然后它包含filter not filters谢谢你的建议。我做了一些编辑使它更容易理解。这种方法允许动态设置参数。这一解决办法更适合投票表决。实际上,当您希望跨多个请求保留参数时,此解决方案会更好。使用params加载方法更适合动态数据。是的,但是当我使用Ext.Net时,我不能总是调用load方法,但是我需要在加载之前和加载之间更改参数。在这种情况下,你的方式更好。
myStore.getProxy().extraParams= {search: "something"}