extjs 循环执行多个异步请求时,参数和后台以及相关问题和衍生问题的处理

本文探讨了在Extjs中如何处理循环执行多个异步请求时遇到的问题,包括参数和后台交互。分析了异步请求的特点,解释了为何输出结果不符合预期,并提出了两种解决方案:同步请求和将变量封装到请求对象中。同时,讨论了Struts与Spring结合时的实例管理问题,建议在多异步请求场景下将Spring Action配置为多例以避免参数混乱。
摘要由CSDN通过智能技术生成

在Extjs中,异步请求的写法:

Ext.Ajax.request({
	url: '***.action',
	//async: false,
	params: {
		p1: v1,
		p2: v2
		...
	},
	success: function(response, options){
		//TODO
	}
}); 
其中,若想变成同步请求,只需要在配置项中添加async: false,默认true。

配置说明:

url,访问的请求地址;

params,参数对象,为请求提供的条件;

success,当请求执行成功后,会进入该回调方法。


说到这里,我们先来回忆一下什么是异步请求,简单来说就是不需要等待上一个请求的返回便可执行;简单的说,若发起了10次异步请求,且中间过程用时极短,那么我们可以看作这10次请求是一起访问目标地址的;

这里我用一个循环来举例说明异步(类似Java多线程)的一些问题和解决方法。

//5个不同对象(结构相同,内容不同)
var params = [obj1, obj2, obj3, obj4, obj5];
for(var i = 0; i < params.length; i++){
	var param = params[i];
	Ext.Ajax.request({
		url: '?',
		params: {
			key: param.key,
			fil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值