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("提示信息", "按钮加载失败,请稍后重试!");
}
});
};