过多的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);" onclick="edit('+partner_id+','+id+',\''+logo+'\',\''+name+'\');"><strong title="'+name+'">'+ne+'</strong></a><a href="javascript:void(0);" class="icon_x" onclick="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);