您好,登錄后才能下訂單哦!
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的作用是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。