六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

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

[复制链接]

升级  90%

11

主题

11

主题

11

主题

童生

Rank: 1

积分
45
 楼主| 发表于 2013-1-23 01:26:52 | 显示全部楼层 |阅读模式
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("提示信息", "按钮加载失败,请稍后重试!");}});};
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表