Ajax請(qǐng)求中的異步與同步,需要注意的地方說明
更新時(shí)間:2012年04月14日 01:54:03 作者:
默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行
之前做項(xiàng)目時(shí)候,用到一個(gè)表格控件,它的數(shù)據(jù)是異步加載的,我在這個(gè)表格綁定數(shù)據(jù)的函數(shù)下面友做了一些業(yè)務(wù)處理,運(yùn)行頁面的時(shí)候,用瀏覽器在我寫業(yè)務(wù)處理那地方打上斷點(diǎn)跟蹤,它確實(shí)執(zhí)行了,可以最后顯示的時(shí)候,它的處理被覆蓋了,我很納悶,當(dāng)時(shí)也知道是這個(gè)表格綁定函數(shù)那出問題了,可是時(shí)間緊,它的函數(shù)是封裝的,沒有去具體跟蹤,就直接讓我的那部分業(yè)務(wù)處理延遲200ms執(zhí)行,這樣就好了,這是個(gè)笨法,不過也是個(gè)有效的辦法,呵呵。
后來看了下文檔,查了些資料,其實(shí)原理應(yīng)該是這樣的:
默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。
var temp;
$.ajax({
async: false,
type : "POST",
url : defaultPostData.url,
dataType : 'json',
success : function(data) {
temp=data;
}
});
alert(temp);
這個(gè)ajax請(qǐng)求則為同步請(qǐng)求,在沒有返回值之前,alert(temp)是不會(huì)執(zhí)行的。
如果async設(shè)置為:true,則不會(huì)等待ajax請(qǐng)求返回的結(jié)果,會(huì)直接執(zhí)行ajax后面的語句。
后來看了下文檔,查了些資料,其實(shí)原理應(yīng)該是這樣的:
默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。
復(fù)制代碼 代碼如下:
var temp;
$.ajax({
async: false,
type : "POST",
url : defaultPostData.url,
dataType : 'json',
success : function(data) {
temp=data;
}
});
alert(temp);
這個(gè)ajax請(qǐng)求則為同步請(qǐng)求,在沒有返回值之前,alert(temp)是不會(huì)執(zhí)行的。
如果async設(shè)置為:true,則不會(huì)等待ajax請(qǐng)求返回的結(jié)果,會(huì)直接執(zhí)行ajax后面的語句。
相關(guān)文章
Ajax獲得站點(diǎn)文件內(nèi)容實(shí)例不涉及服務(wù)器
選擇一部著作,會(huì)通過 Ajax 實(shí)時(shí)獲得相關(guān)的名字,一個(gè)簡單的不涉及服務(wù)器的Ajax實(shí)例,需要的朋友可以參考下2014-05-05
Ajax異步請(qǐng)求技術(shù)實(shí)例講解
ajax是一種在無需重新加載整個(gè)網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。下面通過本文給大家分享Ajax異步請(qǐng)求技術(shù)實(shí)例講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08
ajax獲取json數(shù)據(jù)為undefined原因分析
Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺(tái)進(jìn)行數(shù)據(jù)檢索。這篇文章主要介紹了ajax獲取json數(shù)據(jù)為undefined--原因,需要的朋友可以參考下2017-11-11
JQuery+ajax實(shí)現(xiàn)批量上傳圖片(自寫)
jquery+ajax方式實(shí)現(xiàn)單張圖片上傳的代碼是可以搜的到,實(shí)現(xiàn)批量上傳圖片的程序卻沒搜索到于是自己寫了個(gè),感興趣的朋友可以參考下2013-04-04
jquery訪問servlet并返回?cái)?shù)據(jù)到頁面的方法
這篇文章主要介紹了jquery訪問servlet并返回?cái)?shù)據(jù)到頁面的方法,實(shí)例分析了jQuery操作servlet實(shí)現(xiàn)Ajax的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
AJAX如何接收J(rèn)SON數(shù)據(jù)示例介紹
如何使用AJAX返回JSON數(shù)據(jù),就是dataType,當(dāng)你設(shè)置json后返回的json字符串傳遞到客戶端就是JSON對(duì)象了,示例如下,感興趣的朋友可以參考下2013-08-08
Ajax 配合node js multer 實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了Ajax 配合node js multer 實(shí)現(xiàn)文件上傳功能,需要的朋友可以參考下2017-08-08
基于ajax html實(shí)現(xiàn)文件上傳技巧總結(jié)
這篇文章主要為大家詳細(xì)總結(jié)了基于ajax html實(shí)現(xiàn)文件上傳技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09

