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,(默認(rèn)是true);
如上:false為同步,這個 testAsync()方法中的Ajax請求將整個瀏覽器鎖死,只有tet.php執(zhí)行結(jié)束后,才可以執(zhí)行其它操作。
當(dāng)async: true 時,ajax請求是異步的。但是其中有個問題:testAsync()中的ajax請求和其后面的操作是異步執(zhí)行的,那么當(dāng)tet.php還未執(zhí)行完,就可能已經(jīng)執(zhí)行了 ajax請求后面的操作,
如: alert(temp+' end');
然而,temp這個數(shù)據(jù)是在ajax請求success后才賦值的,結(jié)果,輸出時會為空。
更多關(guān)于ajax相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《JavaScript中ajax操作技巧總結(jié)》、《PHP+ajax技巧與應(yīng)用小結(jié)》和《asp.net ajax技巧總結(jié)專題》
希望本文所述對大家ajax程序設(shè)計有所幫助。
相關(guān)文章
Ajax實現(xiàn)關(guān)鍵字聯(lián)想和自動補全功能及遇到坑
這篇文章主要介紹了Ajax實現(xiàn)關(guān)鍵字聯(lián)想和自動補全功能,實現(xiàn)代碼包括前端部分和后端部分,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08ajax類AJAXRequest v0.8.01 2008-01-31 最新版附使用幫助
2008-02-02php+ajax實現(xiàn)帶進(jìn)度條的大數(shù)據(jù)排隊導(dǎo)出思路以及源碼
最近在做一個項目,我們現(xiàn)在有很多數(shù)據(jù),分表存放,項目要求在導(dǎo)出的時候需要有進(jìn)度條。經(jīng)過一番思索,完成了一下內(nèi)容,分享給大家。最后面有完整代碼。2014-05-05利用AJAX實現(xiàn)鼠標(biāo)懸浮獲取值的代碼
ajax實現(xiàn)將鼠標(biāo)放到圖標(biāo)上,下方會顯示和該圖有關(guān)的信息2009-12-12