jQuery 異步和同步請求


  在jQuery Ajax里面有一個async 參數 , 默認值 為true , 請求為異步請求 , false 為同步請求 ..

  使用ajax加載數據返回頁面並賦值,然后前端取出該值

這其中涉及到代碼的順序問題,有時后台還未返回數據 (好比某個同學些的代碼很爛,執行時間十幾秒),但已執行后面代碼,

所以就會造成取不到值 , 這個就是異步請求, 他不管你有沒有返回,都繼續執行下去...

  如果AJAX未返回值,則會一直在等待返回值才執行下面的代碼,這叫同步請求 , 缺點是瀏覽器會卡住...

如果不想用同步請求,解決辦法是設置AJAX  的 timeout 超時時間,然后再重復請求

用代碼理解下異步請求 

alert("setp 1");  
$.ajax({  
      url: "admin.php",  
      async: true,  
      success: function(data){  
          alert("異步請求"); // 1 
      }  
});  
alert("setp 2"); //2  

首先執行 selp 1 然后執行AJAX URL請求....中->未返回值,他不會一直等待下去 ,會執行 selp 2 

用代碼理解下同步求情

alert("setp 1");  
$.ajax({  
      url: "admin.php",  
      async: true,  
      success: function(data){  
          alert("同步求情"); // 1 
      }  
});  
alert("setp 2"); //2  

首先執行 selp 1 然后執行AJAX 請求....中->未返回值 , 則會一直等待....瀏覽器卡住了,,, 直到返回值才會執行 selp 2 .

 


免責聲明!

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



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