1、async值爲true (異步)html
當ajax發送請求後,在等待server端返回的這個過程當中,前臺會繼續 執行ajax塊後面的腳本,直到server端返回正確的結果纔會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求後一個線程 和ajax塊後面的腳本(另外一個線程)ajax
例如異步
$.ajax({ type:"POST", url:"Venue.aspx?act=init", dataType:"html", success:function(result){ //function1() f1(); f2(); } failure:function (result) { alert('Failed'); }, } function2();
在上例中,當ajax塊發出請求後,他將停留function1(),等待server端的返回,但同時(在這個等待過程當中),前臺會去執行function2()。async
2、async值爲false (同步)url
當執行當前AJAX的時候會中止執行後面的JS代碼,直到AJAX執行完畢後時,才能繼續執行後面的JS代碼。spa
例如線程
$.ajax({ type:"POST", url:"Venue.aspx?act=init", dataType:"html", async: false, success:function(result){ //function1() f1(); f2(); } failure:function (result){ alert('Failed'); }, } function2();
這個時候ajax塊發出請求後,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。code
參考資料: ajax同步和異步的區別 http://www.studyofnet.com/news/1025.htmlserver