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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP的session阻塞机制带来的单页面多ajax请求阻塞的解决
遇到一个有意思的问题: 比如在一个页面中,有两个不同的ajax请求,分别在两个函数中调用去请求,前一个ajax是长轮询的请求。后一个ajax是每隔几秒执行一次,负责读取前一个ajax执行的日志,并把读到的日志内容显示在当前页面的某一个div中。 问题很简单,但意外发生了。 前面的ajax请求开始执行后,日志内容也正常不断的生成。但后一个ajax定时去取日志却总也取不到,看到的现象
Ajax异步请求阻塞情况的解决办法
现象:在一个网站中,当访问一个处理比较耗时的页面(A页面),页面请求还没有返回时,此时再点击访问该网站的其他页面(B页面)会出现B页面很久都没有响应和返回,直到A页面输出返回数据时才开始处理B页面的请求,造成请求排队处理,A页面阻塞了B页面的请求处理。
ajax错误提示一闪而过,ajax请求数过多引起浏览器无响应(阻塞)问题解决
做项目时,在onsubmit中使用ajax,本来想显示错误提示的,结果错误提示一闪而过。 这是错误的代码,顺便记录一下jq版ajax的用法: // 提交数据 $.ajax({ type: "POST", url: "${pageContext.request.contextPath }/user_regist.action", async: fal
Ajax同步请求出现浏览器页面假死,阻塞UI线程之解决方案
源码:function loadCheckBox(){ var busVedioPosition = ''; var defer = new jQuery.Deferred(); $.ajax({ url:rootPath + "/gis/getBusVedioPosition", // async:false, type:"POST", success:function(resul
asp.net mvc session锁问题 Ajax请求慢问题
一、会话状态Session   Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端)。客户端与服务器端就是通过这个key来确认客户端的身份,通常这个key为SessionID。   一般情况下,SessionID以Cookie的形式保存在浏览器中,在不使用Cookie
异步长连接遇阻塞,探索,以及解决
 在试验聊天程序的时候,利用AJAX保持着一个长连接监听新的聊天信息,之后又调用了另外一个AJAX来发言,于是就发生了一个AJAX线程被阻塞的问题。 在未监听到新的聊天信息的之前,发言用的AJAX就无法发出。 于是发现,这种时候,用AJAX来做聊天并不是一个合适的选择。 拍一下脑袋,想到了直接用appendChild()的方法来远程调用一个php所编译的js文件 
ajax长轮询阻塞别的ajax请求
最近在做一个webim,实时更新使用ajax长链接方式来实现。运行时,发现comet保持链接状态时,其他的链接也被阻塞掉了,无法及时完成。 百度一下,查到是,session 的问题。所有的请求都是需要session的,但comet请求却长期占用着session,导致了其他请求得不到session而被阻塞掉。 所以,在comet服务端代码中加上session_write_close();
ajax请求与UI进程阻塞
转自:http://blog.csdn.net/web_xyk/article/details/52292183 在与后台实现数据交互时经常会遇到一种这样的情况: 1.需要用一个ajax请求后台数据,并且要在获取到数据之后再渲染到页面,这个时候就必须用同步(async:false)。 2.然而在这个时候就会有另一种情况,当ajax的请求花费的时间比较长的时候需要一个loa
jQuery中ajax异步请求造成的问题
ajax异步请求带来的问题
PHP Session并发操作阻塞问题
项目中遇到了session并发操作阻塞问题,因为请求会使用Session存储数据。   在同一个客户端浏览器打开不同标签进行测试的时候,请求一直处于等待状态。经过网上查找了解,如果同一个客户端并发发送多个请求,而每个请求都使用了Session,那么PHP Session锁的存在会导致服务器串行响应这些请求,而不是并行。   这是因为在默认情况下,PHP使用文件存储Session数据。对