`

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

阅读更多
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("提示信息", "按钮加载失败,请稍后重试!");
				}
			});
};
分享到:
评论
3 楼 晴天16 2013-09-29  
困扰我一天的问题,终于解决 赞一个
2 楼 westsince2001 2012-05-04  
冷月宫主 写道
超无耐的是此方在不被Firefox支持!

兄台再检查下哦,这个是IE与FF版本都支持的。当然是在11年5月左右的FF。现在新版本不太清楚了。
1 楼 冷月宫主 2012-04-28  
超无耐的是此方在不被Firefox支持!

相关推荐

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    Ext.Ajax.request跨域

    Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略限制,跨域请求需要特别处理。这篇博客文章可能详细介绍了如何在ExtJS应用中解决这个问题...

    ext-basex.js 进行Ext.Ajax.request 同步请求 FF无法正常

    标题提到的"ext-basex.js进行Ext.Ajax.request同步请求 FF无法正常"问题,涉及到浏览器兼容性和异步/同步请求的理解。 `Ext.Ajax.request`是ExtJS中的一个方法,用于发起Ajax(异步JavaScript和XML)请求。它可以...

    Ext.Ajax.request 小问题收集

    在标题提到的"同步请求包"问题中,EXTJS默认情况下,`Ext.Ajax.request`是异步执行的,但有时我们可能需要同步请求,例如在某些数据初始化场景。要实现同步请求,需要设置配置项`async: false`: ```javascript Ext...

    Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别

    (1)Ext.FormPanel f.getForm().submit({ url:”... }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:”….”, params:{XX:xx….}, success: function (v,c) { var json=Ext.decode(v.r

    extjs ajax同步请求所需js

    标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成...

    Ext ajax 上传文件

    Ext JS是一个强大的JavaScript库,专门用于构建富客户端应用程序,它提供了一系列丰富的UI组件和强大的数据管理工具。 首先,让我们了解一下文件上传的基本原理。在HTML中,`&lt;input type="file"&gt;`元素用于让用户...

    Ext+JSP实现数据提交

    3. **Ajax请求**:使用`Ext.Ajax.request`方法发起异步请求,该方法支持POST或GET方式提交数据。在`action.js`中,可以配置请求的URL(如`action.html`),数据类型,以及成功或失败的回调函数。 4. **服务器端处理...

    Packtpub.Ext.JS.3.0.Cookbook.Oct.2009

    Ext JS是一个强大的JavaScript库,它提供了丰富的用户界面组件和数据管理功能,广泛应用于企业级Web开发。 在描述中,"Cookbook"一词暗示了本书将采用问题解决的模式,为读者提供了一系列实际场景下的代码示例和...

    Ext2.0.2的Ajax请求拦截示例

    在Ext JS中,Ajax请求是进行异步数据交互的基础,它允许页面在不刷新的情况下与服务器进行通信。本示例将深入探讨如何在Ext2.0.2中实现Ajax请求的拦截,以便在发送请求前或接收响应后执行自定义逻辑。 首先,我们...

    Ext3.1 Ajax 精简包以及使用方法

    Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是Ext3.1中的一个核心特性,它允许Web应用在不刷新整个页面的情况下与服务器进行数据交换,提升用户体验。 在Ext3.1中,Ajax功能主要通过`Ext....

    ext_ext_knew7pi_ajax_

    EXT 1.1中的AJAX(Asynchronous JavaScript and XML)是实现异步数据交换的核心工具。它允许Web应用在不刷新整个页面的情况下与服务器进行通信,提升了用户体验。EXT的AJAX功能通过其`Ext.Ajax`对象来封装...

    ext异步跳转问题(解决过滤器的问题)

    Ext JS是一款基于JavaScript的富客户端框架,它提供了一种强大的Ajax功能,使得开发者能够轻松地进行异步数据交互。在Ext中,`Ext.Ajax`对象是进行异步请求的主要接口,通过`Ext.Ajax.request`方法发送HTTP请求到...

    ext 前后台数据交互

    Ext前后台数据交互是通过Ext.data.Connection组件和Ext.Ajax.request方法来实现的。该方式可以将前台的请求发送到后台,并将后台的响应返回到前台。同时,我们可以使用Asp.NET后台来处理前台发送的请求,并将处理...

    extjs3.0 ajax 同步请求

    虽然同步 AJAX 请求在特定场景下非常有用,但考虑到它可能导致的性能问题和用户体验下降,建议仅在确实必要的场合使用。同时,在使用同步请求时要注意跨浏览器兼容性问题,并采取相应的解决方案。随着技术的发展,...

    ExtJs Ajax 同步问题

    然而,有时我们可能会遇到Ajax同步问题,这通常是由于对异步和同步理解不透彻或者配置不当导致的。下面我们将详细探讨这个问题。 在ExtJS中,Ajax请求主要通过`Ext.Ajax`对象来实现。`Ext.Ajax.request()`方法是...

Global site tag (gtag.js) - Google Analytics