Ext js Ext.Ajax.request同步和异步问题

来源:互联网 发布:国家旅游局数据统计 编辑:程序博客网 时间:2024/05/16 08:46


Ext.Ajax.request 默认是异步的,所以在下载的开发包中,无论怎么增加参数,async,sync都是无效的.目前需要用到同步调用.后台获取数据,填充grid.同时最上面的按钮也要后台获取后动态生成。这就要求按钮生成时,请求不能返回. 
参考了很多网上总结的,有些是要更改底层代码的,最怕改来改去,有时候一个不同版本都会折腾死人,最后 参考了只要引入一个 js.然后就能在Ext.Ajax.request中设置async:false.发起同步请求. 

在加载页面加入ext-basex.js.即可: 
Java代码  收藏代码
  1.   Ext.Ajax.request({  
  2.                 url : './dept/getCurrentWeek.do',  
  3.                 params : '',  
  4.                 method : 'POST',  
  5.                 async: false,  
  6.                 success : function(response, options) {  
  7.                     var currentWeek = response.responseText;  
  8.                     currentWeek=parseInt(currentWeek);  
  9.                     var arrays = new Array(4);  
  10.                     for (var i = 0; i < 4; i++) {  
  11.                     arrays[i]=new Ext.Toolbar.Button({text :'W'+(currentWeek+i) ,iconCls : 'icon-home',listeners : {  
  12.                 "click" : function() {  
  13.                     var buttonText=this.getText();  
  14.                     gridObj.store.reload({params:{ currentWeek:buttonText,deptId:Ext.getCmp('deptColumnTree').getSelectionModel().getSelectedNode().attributes.id}});  
  15.                 }  
  16.             }});  
  17.                     }  
  18.                     tbr.add(arrays);  
  19.                     tbr.addFill();  
  20.                 },  
  21.                 failure : function() {  
  22.                     Ext.Msg.alert("提示信息""按钮加载失败,请稍后重试!");  
  23.                 }  
  24.             });  
  25. };  
  • ext-basex.rar (15.7 KB)
  • 下载次数: 301

原创粉丝点击