在页面加载时,一般初始化数据的列表调用一下store的load方法,但是在firebug中总是可以看见2个链接在加载数据,其中一个正常加载返回数据,但是另一个一摸一样的连接却是一直在加载状态,如图中的第一条始终显示在加载状态,而第三条是一样的连接,他已经加载完了。都是发生在第一次打开页面的时候。
请问下怎样才能避免这种情况的发生。
[b]问题补充:[/b]
[code="java"]
Ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: "ticket.do"
}),
autoLoad : false,
baseParams: {
type : 'findAllTicket',
MyTicket:'true'
},
sortInfo: {
field: "CreateTime",
direction: "DESC"
},
remoteSort: true,
reader: new Ext.data.JsonReader({
root: 'results',
totalProperty: 'totalCount',
id: 'ID'
}, [{
name: 'ID'
}, {
name: 'TicketNo'
}, {
name: 'EventName'
}, {
name: 'EventSeverity'
}, {
name: 'Priority'
}, {
name: 'Status'
}, {
name: 'Owner'
}, {
name: 'CreateTime'
}, {
name: 'RequireTime'
}, {
name: 'CompleteTime'
}, {
name: 'CloseTime'
},{
name: 'StatusValue'
}])
});
- var cm = new Ext.grid.ColumnModel([{
- header: "ID",
- autoScroll: true,
- dataIndex: 'ID',
- sortable: true,
- hidden: true
- }, {
- header: "TicketNo",
- width: 70,
- sortable: true,
- dataIndex: 'TicketNo'
- }, {
- header: "EventName",
- width: 170,
- dataIndex: 'EventName',
- sortable: true
- }, {
- header: "EventSeverity",
- width: 120,
- dataIndex: 'EventSeverity',
- sortable: true
- }, {
- header: "Priority",
- width: 40,
- dataIndex: 'Priority',
- sortable: true
- }, {
- header: "Ticket State",
- width: 80,
- dataIndex: 'Status',
- sortable: true
- }, {
- header: "Owner",
- width: 120,
- dataIndex: 'Owner',
- sortable: true
- }, {
- header: "CreateTime",
- width: 120,
- dataIndex: 'CreateTime',
- sortable: true
- }, {
- header: "CompleteTime",
- width: 120,
- dataIndex: 'CompleteTime',
- sortable: true
- }, {
- header: "CloseTime",
- width: 120,
- dataIndex: 'CloseTime',
- sortable: true
- }, {
- header: "RequireTime",
- width: 120,
- dataIndex: 'RequireTime',
- sortable: true
- }]);
-
- ticketPanel = new Ext.grid.GridPanel({
- region:'center',
- cm: cm,
- frame: true,
- store: Ds,
- tbar: [
- {
- text: itm_lan_2_0.query,
- iconCls:'button_search',
- handler: queryTicket
- },'-',
- {
- text: 'Submit',
- id:'btn_submit',
- handler: submitTicket
- },'-',
- {
- text: 'Forward',
- id:'btn_forward',
- handler: forwardTicket
- },'-',
- {
- text: 'Back',
- id:'btn_back',
- handler: backTicket
- },'-',
- {
- text: 'Close',
- iconCls: 'Close',
- id:'btn_close',
- handler: closeTicket
- },'-',
- {
- text: 'View Event',
- iconCls: 'button_search',
- id:'btn_viewEvent',
- handler: function(){
- var selectedRows = ticketPanel.getSelections();
- if (selectedRows.length > 0) {
- var ticketId = selectedRows[0].get('ID');
- window.open('event_mgmt.do?ticketId='+ticketId);
- }
- }
- }],
- bbar:new Ext.PagingToolbar({
- pageSize: 20,
- store: Ds,
- displayInfo: true,
- displayMsg: 'Displaying {0} - {1} of {2}',
- emptyMsg: "No topics to display"
- }),
- autoScroll: true,
- loadMask: true,
- viewConfig: {
- forceFit: false
- },
- listeners: {
- rowclick: function() {
- var TicketId='0';
- var owner = '';
- var status = '';
- var selectedRows = ticketPanel.getSelections();
- if (selectedRows.length > 0) {
- TicketId = selectedRows[0].get('ID');
- status = selectedRows[0].get('StatusValue');
- owner = selectedRows[0].get('Owner');
- }
- Ds2.baseParams={TicketId:TicketId};
- Ds2.reload();
- refreshButtons(owner,status);
- }
- }
- });
- Ds.load({
- params: {
- start: 0,
- limit: 20
- }
- });[/code]
我已经设置了autoLoad:false,而且只有一次load调用。大家看看有什么不对的地方吗?
[b]问题补充:[/b]
大家觉得我可能自己调用了2次load,但是就算是我自己调用的那也应该2次结果一样才对啊,但是现实是总是有一次调用是结束不了的,没有数据返回,那个圈一直在转。
而且我检查过却是没有调用2次,不知道会不会有其他的东西会触发load方法。 :(
[b]问题补充:[/b]
我把
[code="java"]
sortInfo: {
field: "CreateTime",
direction: "DESC"
},
remoteSort: true,
[/code]
注释掉也没用,把autoLoad注释掉也没用
[b]问题补充:[/b]
2次post参数是完全一样的,您可以看一下我上传的图片。但是其中一次就是没有响应。
[b]问题补充:[/b]
不是我某一个页面是这种问题,我和同事做的页面都有这个问题,也许我们是照抄抄错了某个同样的例子。但是不知道错在哪。