ajax中的async屬性值之同步和異步及同步和異步區別


一、async值為true (異步)

當ajax發送請求后,在等待server端返回的這個過程中,前台會繼續 執行ajax塊后面的腳本,直到server端返回正確的結果才會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求后一個線程 和ajax塊后面的腳本(另一個線程)

$.ajax({  
     type:"POST", 
     url:"Venue.aspx?act=init", 
     dataType:"html", 
     success:function(result){  //function1()
       f1(); 
       f2();  
    } 
    failure:function (result) {  
      alert('Failed');  
    }, 
 } 
 function2();

在上例中,當ajax塊發出請求后,他將停留function1(),等待server端的返回,但同時(在這個等待過程中),前台會去執行function2()。

 

二、async值為false (同步)

當執行當前AJAX的時候會停止執行后面的JS代碼,直到AJAX執行完畢后時,才能繼續執行后面的JS代碼。

$.ajax({  
     type:"POST", 
     url:"Venue.aspx?act=init", 
     dataType:"html", 
     async: false,
     success:function(result){  //function1()
       f1(); 
       f2(); 
     } 
     failure:function (result) {  
      alert('Failed');  
     }, 
 } 
 function2();

當把asyn設為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求后,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM