- JScript code
$(document).ready(function() { $('#craw').click(function(){ var craw = $(this); craw.button('loading'); var length = $('#total').text(); if(length ==0){ craw.button('reset'); }else{ for(var i=0;i<length;i++){ var value = $('#need_'+i).text(); getData(value,i); } craw.button('reset'); } return false; }); }); function getData(s_url,i){ $.ajax({ url: "getData.php", dataType:'html', data:"school_url="+s_url, success:function(result){ if(result=='success'){ $('#status_'+i).addClass('label-success'); $('#status_'+i).html('抓取成功'); }else{ $('#status_'+i).addClass('label-warning'); $('#status_'+i).html('抓取失败'); } } }) }
我想问的就是craw.button('reset');这句话为什么在for循环未完全执行完成,就被执行。或者是我理解错了,所以小弟在这里求教了。
------解决方案--------------------
试试同步获取数据async:false