js ajax提交死循环

一棵树下 发布于 2016/05/25 11:14
阅读 777
收藏 0

html代码

<table class="table table-striped table-bordered table-hover datatable">
<thead>
<tr>
<th>域名</th>
<th>Whois返回记录</th>
<th>扫描时间</th>
<th class="Whois_see"><a href="javascript:;">未启动</a></th>
</tr>
</thead>
<tbody class="baogume-tbody Whois_add_html">
     这里动态生成
</tbody>
</table>

js代码 点击 未启动 执行 就会卡死
var meici='3';
var m='0';  
$(".Whois_see").click(function(){
for(o=m;o<meici;o++){
reg_name=$(".noactive").eq(o).find("td").eq(0);
reg_whois=$(".noactive").eq(o).find("td").eq(1);
reg_click=$(".noactive").eq(o).find("td").eq(3);
reg_click.html("已经启动")
     $.ajax({
           url: 'A.php',
           type: 'get',
           async:true,
           beforeSend:function(){
            reg_whois.html('查询whois请求')
           },
           data:{
            name:reg_name
           },
           success:function(data){
            reg_whois.html(data)
        }
       })
}
})
怎么回事? 

最后动态生成的html代码

<table class="table table-striped table-bordered table-hover datatable">
<thead>
<tr>
<th>域名</th>
<th>Whois返回记录</th>
<th>扫描时间</th>
<th class="Whois_see"><a href="javascript:;">未启动</a></th>
</tr>
</thead>
<tbody class="baogume-tbody Whois_add_html">

<tr class="odd gradeX noactive"><td class="baogume-table-qz">000.vc</td><td class="baogume-table-hz"></td><td class="baogume-table-hz"></td><td class="center baogume-table-type-time">未启动</td></tr><tr class="odd gradeX noactive"><td class="baogume-table-qz">001.vc</td><td class="baogume-table-hz"></td><td class="baogume-table-hz"></td><td class="center baogume-table-type-time">未启动</td></tr><tr class="odd gradeX noactive"><td class="baogume-table-qz">002.vc</td><td class="baogume-table-hz"></td><td class="baogume-table-hz"></td><td class="center baogume-table-type-time">未启动</td></tr></tbody>
</table>

加载中
0
geminiblue
geminiblue

为什么要循环?一次把要查询的东西提交到server不行?循环产生n次通信,外加server端写的不好的话,不卡死说明你机器配置高


hyjiacan
hyjiacan
回复 @一棵树下 : 哦 不是自己的服务器啊 没注意到
一棵树下
回复 @hyjiacan :不好意思 太累 睡着了 whois服务查询 单请求好些。。 多的话 瞬时过多 容易封ip或者造成不稳
hyjiacan
hyjiacan
回复 @一棵树下 : 不一样 服务器循环与客户端循环要处理的数据基本上完全相等,除非你每次循环要用到上次的结果。 但是你客户端循环,就要产生多次请求,更多的时间浪费在了 请求 连接 响应 这些上面。。
geminiblue
geminiblue
回复 @一棵树下 : 你的server不能跑多进程,多线程么?
一棵树下
就3个啊 怎么会卡死 写成一次 服务器端也要循环解出。。。一样的
0
littledew
littledew
async: false 
littledew
littledew
会不会是服务器端卡啊,或者别的地方影响到了。
一棵树下
false true 都一样 卡死
0
开源中国-首席营养师
ajax 先加一个 failure处理
0
hyjiacan
hyjiacan

我觉得可以考虑使用递归,利用ajax的done来进行下一次的调用,而不是这种简单的循环,毕竟这样的异步调用请求也是密集的。  

重点:没看出来你代码哪里像是死循环的。

一棵树下
找到了 reg_name 这个没加 html() 已提交就卡死。。。 你说的那个 我了解下 正是我想要的。。 之前知识点不够 所以不知道。多谢。本人半路出家 多谢帮助
0
此用户已关机
此用户已关机
试试ajax长连接呢
返回顶部
顶部