2 yagami123551 yagami123551 于 2016.04.12 12:31 提问

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 server

        tempAjax = $.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()掉,没什么实际效果区别

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!