ajax中async_小猿圈web前端之ajax的同步和异步有怎样的区别?
對于ajax我們應該知道ajax是主要用來在前端頁面中向服務器后端請求數據,ajax中根據async的值不同分為同步(async = false)和異步(async = true)兩種執行方式,那么,ajax的同步和異步請求兩種方式有什么區別呢?小猿圈web前端講師給大家詳細分析一下ajax同步與異步執行的區別。
首先看一下同步請求:
$.ajax({
type:'post',
url:"<c:url value='/device/org/' />"+val,
data:{'orgId':val},
success:function(data){//function(1)
name=data.orgName;
},
dataType:"json",
async:false
});
function(2);
當執行當前AJAX的時候會停止執行后面的JS代碼,直到AJAX執行完畢后時,才能繼續執行后面的JS代碼。
當把async設為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求后,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。
異步請求:
$.ajax({
type:"POST",
url:"Venue.aspx?act=init",
dataType:"html",
success:function(result){ //function1()
f1();
f2();
}
failure:function (result) {
alert('Failed');
},
}
function2();
當ajax發送請求后,在等待server端返回的這個過程中,前臺會繼續 執行ajax塊后面的腳本,直到server端返回正確的結果才會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求后一個線程 和ajax塊后面的腳本(另一個線程)
也就是說,當ajax塊發出請求后,他將停留function1(),等待server端的返回,但同時(在這個等待過程中),前臺會去執行function2()。
通俗點兒的意思,可以這么理解同步處理:我吃完后再看手機,看玩手機后,再睡覺,必須等待上一件事情干完之后,下一件事才能繼續執行,單線程;異步處理:不必等待一個程序執行完畢,可以執行其他任務,我可以邊吃飯,邊看手機,是一種并行的方式。
ajax同步和異步這樣理解會變簡單很多,web前端講師在小猿圈上總結出的經驗,小編最近在學習前端,感覺小猿圈還不錯,大家想學習也可以去看看,一起學習,一起進步。
總結
以上是生活随笔為你收集整理的ajax中async_小猿圈web前端之ajax的同步和异步有怎样的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚊子包为什么越挠越痒?它一边咬你一边吐口
- 下一篇: 连接网络后浏览器却上不了网