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

相關文章
相關標籤/搜索