ajax的同步和异步

(function listen(){
            var tran = $('.tran');
            for(var i=0;i<tran.length;i++){
                if($(tran[i]).text()=='正在翻译...'){
                    //that = $($(tran[i]));
                    $.ajax({
                        type:'post',
                        url:'/ajax/pstran',
                        async: false,
                        data:{
                            id:$(tran[i]).attr('href').split('/')[$(tran[i]).attr('href').split('/').length-1],
                            user:'{Yii::app()->session['user']['id']}',
                        },
                        success:function(msg){
                            console.log(i);
                        }
                    });
                }

           }
        })();

ajax 默认是异步状态 post数据到后台,同时代码往下执行,等到success成功后,插入队列,返回数据,可是这时候for循环的i已到最后,因此i是20,若是是同步,则等到回调函数success返回后代码才往下执行,因此console.log(i)里的 才是咱们想获得的数据.ajax

相关文章
相关标签/搜索