日期:2014-05-16  浏览次数:20420 次

问个javscript执行过程的问题,为什么程序会被提前执行。
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