Ext.Ajax.request 默认是异步的,所以在下载的开发包中,无论怎么增加参数,async,sync都是无效的.目前需要用到同步调用.后台获取数据,填充grid.同时最上面的按钮也要后台获取后动态生成。这就要求按钮生成时,请求不能返回.
参考了很多网上总结的,有些是要更改底层代码的,最怕改来改去,有时候一个不同版本都会折腾死人,最后 参考了只要引入一个 js.然后就能在Ext.Ajax.request中设置async:false.发起同步请求.
在加载页面加入ext-basex.js.即可:
Ext.Ajax.request({ url : './dept/getCurrentWeek.do', params : '', method : 'POST', async: false, success : function(response, options) { var currentWeek = response.responseText; currentWeek=parseInt(currentWeek); var arrays = new Array(4); for (var i = 0; i < 4; i++) { arrays[i]=new Ext.Toolbar.Button({text :'W'+(currentWeek+i) ,iconCls : 'icon-home',listeners : { "click" : function() { var buttonText=this.getText(); gridObj.store.reload({params:{ currentWeek:buttonText,deptId:Ext.getCmp('deptColumnTree').getSelectionModel().getSelectedNode().attributes.id}}); } }}); } tbr.add(arrays); tbr.addFill(); }, failure : function() { Ext.Msg.alert("提示信息", "按钮加载失败,请稍后重试!"); } }); };
1 楼
冷月宫主
2012-04-28
超无耐的是此方在不被Firefox支持!
2 楼
westsince2001
2012-05-04
冷月宫主 写道
超无耐的是此方在不被Firefox支持!
兄台再检查下哦,这个是IE与FF版本都支持的。当然是在11年5月左右的FF。现在新版本不太清楚了。