我有问题。我有getAllJobsControllerUrl()
函数,它返回具有特定参数的URL:
proxy: new Ext.data.ScriptTagProxy({
url: getAllJobsControllerUrl(),
method : 'GET'
})
所有与网格有关的代码:
var store = new Ext.data.JsonStore({
root: 'jobs',
totalProperty: 'totalCount',
fields: [
{firld description}],
proxy: new Ext.data.ScriptTagProxy({
url: getAllJobsControllerUrl(),
method : 'GET'
})
});
var grid = new Ext.grid.GridPanel({
id: 'mainGrid',
el:'mainPageGrid',
autoWidth: true,
store:store,
cm:cm,
viewConfig:{
forceFit:true
},
width :1000,
height:500,
loadMask:true,
frame:false,
bbar: new Ext.PagingToolbar({
id : 'mainGridPaginator',
store:store,
pageSize:10,
displayMsg: '{0} - {1} of {2} results',
emptyMsg:'No results found for your search criterion',
displayInfo:true
}),
tbar:tabBar
});
问题/问题:当我使用getAllJobsControllerUrl()创建Ajax请求然后重新加载存储时,我正在向服务器发送正确的请求字符串。
但是当我尝试使用分页按钮(网格底部的'< - '和' - >')时,似乎我正在发送首次访问时形成一次的请求字符串然后它不会修改。
F1:)
添加了:
function getAllJobsControllerUrl() {
return '../../statusList/getJobs/search-' + searchType + '-' + searchValue +
'/sort-' + sortName + '-' + sortOrder +
'/filterSd-' + filterSubmittedDate +
'/filterSt-' + filterStatus +
'/filterUn-' + filterUserName +
'/filterJn-' + filterJobName
}
答案 0 :(得分:3)
感谢大家帮助我。 我已将我的代码迁移到extjs 4.0并决定创建额外的参数,这些参数现在正在为我工作
store : store = new Ext.data.JsonStore({
fields : [....],
....
listeners: {
'beforeload': function(store, options) {
store.proxy.extraParams.param1='val1';
store.proxy.extraParams.param2='val2';
},
所以,结果我收到了关注请求:
http://myip:8080/myproject/statusList/getJobs?param1=val1¶m2=val2
祝你好运!
答案 1 :(得分:0)
您需要在加载前使用新网址更新代理。最好的方法是使用商店的beforeload活动。
将商店定义更改为
var store = new Ext.data.JsonStore({
root: 'jobs',
totalProperty: 'totalCount',
fields: [
{firld description}],
proxy: new Ext.data.ScriptTagProxy({
url: getAllJobsControllerUrl(),
method : 'GET'
}),
listeners:{
beforeload:function(store, options){
store.proxy.setUrl(getAllJobsControllerUrl());
}
}
});