Ext.Ajax.request 默认是异步的,所以在下载的开发包中,无论怎么增加参数,async,sync都是无效的.目前需要用到同步调用.后台获取数据,填充grid.同时最上面的按钮也要后台获取后动态生成。这就要求按钮生成时,请求不能返回.
参考了很多网上总结的,有些是要更改底层代码的,最怕改来改去,有时候一个不同版本都会折腾死人,最后 参考了只要引入一个 js.然后就能在Ext.Ajax.request中设置async:false.发起同步请求.
在加载页面加入ext-basex.js.即可:
参考了很多网上总结的,有些是要更改底层代码的,最怕改来改去,有时候一个不同版本都会折腾死人,最后 参考了只要引入一个 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("提示信息", "按钮加载失败,请稍后重试!");
- }
- });
- };