這篇文章主要介紹了Ajax請求中async:false/true的作用,結合實例形式分析說明了Ajax請求中async:false/true的具體功能與使用技巧,需要的朋友可以參考下
本文實例分析了Ajax請求中async:false/true的作用。分享給大家參考,具體如下:
test.html程式碼:
#<a href="javascript:void(0)" onmouseover="testAsync()">
asy.js程式碼:
function testAsync(){ var temp; $.ajax({ async: false, type : "GET", url : 'tet.php', complete: function(msg){ alert('complete'); }, success : function(data) { alert('success'); temp=data; } }); alert(temp+' end'); }
tet.php程式碼:
<?php echo "here is html code"; sleep(5); ?>
async: false,(預設為true) ;
如上:false為同步,這個testAsync()方法中的Ajax請求將整個瀏覽器鎖死,只有tet.php執行結束後,才可以執行其它操作。
當async: true 時,ajax請求是異步的。但其中有個問題:testAsync()中的ajax請求和其後面的操作是異步執行的,那麼當tet.php還未執行完,就可能已經執行了ajax請求後面的操作,
#如: alert(temp ' end');
然而,temp這個資料是在ajax請求success後才賦值的,結果,輸出時會為空。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
##
以上是Ajax請求中async:false/true的作用分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!