过多的ajax请求处理方案

1,定一个全局变量来保存当前所有要执行的ajax请求,作为一个队列,只不过这个队列有且只有一个存在并执行。

2,每次要新建并开始一个请求是,遍历这个请求数组,把之前已经存在的全部停止,把新的请求放进去。

这样能保证不会有过多的ajax请求被发起。




var yourQueryContainer = new Array();


var yourLoad = $.post("/PublisherSignups/getYourNetworks",postData,function(data){
		$(".content").mask("Loading...");
		if(data !== "[]"){
			var ret = $.parseJSON(data);			
			var up = "";
			if(ret.rows != undefined){
				$.each(ret.rows,function(i,n){
					var id = n.cell[0];
					var name = n.cell[1];
					var logo = n.cell[2];
					var partner_id = n.cell[3];
					var ne = (name.length > 9 ? name.substr(0,6)+"..." : name);					
					up += '<div class="item" id="item-'+partner_id+'"><input search="'+name+'" name="searchName" type="hidden"/><em class="network_logo" style="background-image: url('+logo+');  background-size: 90px 30px;"></em><a href="javascript:void(0);" οnclick="edit('+partner_id+','+id+',\''+logo+'\',\''+name+'\');"><strong title="'+name+'">'+ne+'</strong></a><a href="javascript:void(0);" class="icon_x" οnclick="removeAccount(this,'+id+');"></a></div>';
				})
			}
	
			$(".content").html(up +"</div>");
		}
		
	  	$(".content").unmask();
	  	
	});

	if(yourQueryContainer.length > 0){
		for(var i = 0; i < yourQueryContainer.length; i++){
			yourQueryContainer[i].abort();
		}
	}
	yourQueryContainer.push(yourLoad);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值