问题描述
- ajax请求过多导致js代码阻塞问题,求助
-
首先,我有这么一个需求。
需求:遍历局域网内所有IP查找服务器IP。
实现:通过for循环向每个IP发送ajax请求,前端成功接受到服务器返回的数据说明当前请求的IP为服务器IP地址。
问题:由于向局域网内所有IP都同时发送了ajax请求,一共250多次,导致js代码以及ajax请求阻塞。
有没有什么比较好的办法能够解决ajax请求不响应的问题..贴一下代码
for(var i = 0;i<ipUseableArray.length;i++){
var serverIp = ipUseableArray[i];
var ipport = serverIp+":8888";
that.autoGetServerIp(ipport,serverIp);
// console.log(ipport);
}// console.log('it in,'+'ipport:'+serverIp+',serverIp:'+serverIp);
var that = this;
//connect to servertempAjax = $.getJSON( "http://"+ipport+"/CLC/CLCServicer?methodName=connecttoserver&jsonpCallback=?", function(data){
// console.log(data+','+ipport);
if(data.result == "true"){
// console.log(ipport+'scan success');
$('.ip-list').append(''+serverIp+'
');
that.isScanIp = true;
}
}--------http://ask.csdn.net/#
自己用一个setTimeout函数这么处理过,发送请求后马上设定一个settimeout函数,3秒后将ajax对象abort()掉,没什么实际效果区别