在我們日常開發工作中,ajax是我們都需要學習的知識一直,那麼在jquery的ajax中如果我們希望實現同步或非同步我們可以直接設定async發生為真或假即可true false,今天我們就帶大家介紹下jQuery中ajax屬性async的範例!
範例1、jquery+ajax/" target="_blank">jquery ajax同步方式
程式碼如下:
$.ajax({ url : 'test.php', type : 'post', async: false,//使用同步的方式,true为异步方式 data : {'act':'addvideo', 'videoname':videoname},//这里使用json对象 success : function(data){ //code here... }, fail:function(){ //code here... } });
範例2
程式碼如下:
//javascript function test() { var a= 1; $.ajax({ type : 'GET', url : 'test.php', data : 'page=112', success:function(msg) { alert(msg); a= msg; } }) alert(a); } //test.php sleef('5'); //休息五分钟 echo 'in'; /* 这个程序运行情况是 先打印1(a=1) 然后五秒过后 打印 in 根据这个情况就可以知道 jquery 的ajax的执行流程 因为是异步调用 以前就是这样给一个变量赋值 不管怎么弄都是不对的。最后就发现这个问题 参数async改为false就为同步调用 当ajax返回结果后程序才继续执行 */
在這裡,async預設的設定值為true,這種情況為非同步方式,就是說當ajax發送請求後,在等待server端回傳的這個過程中,前台會繼續執行ajax塊後面的腳本,直到server端回傳正確的結果才會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求後一個線程和ajax塊後面的腳本(另一個執行緒)範例:
範例3
程式碼如下:
$.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(),也就是說,在這個時候出現兩個線程,我們這裡暫且說為function1() 和function2()。當把asyn設為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求後,他會等待在function1()這個地方,不會去執行function2(),知道function1( )部分執行完畢。裡所有的程式碼停止載入,頁面出去假死狀態,當這個AJAX執行完畢後才會繼續運行其他程式碼頁面假死狀態解除。 ,這個屬性
相關推薦:
#script標籤中的async和defer用法
ES6之async+await同步/非同步方案詳解
以上是jQuery中ajax屬性async的範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!