DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jquery ajax屬性async(同步異步)示例
jquery ajax屬性async(同步異步)示例
編輯:JQuery特效代碼     
例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()部分執行完畢。
注意
同步的意思是當JS代碼加載到當前AJAX的時候會把頁面裡所有的代碼停止加載,頁面出去假死狀態,當這個AJAX執行完畢後才會繼續運行其他代碼頁面假死狀態解除。
而異步則這個AJAX代碼運行中的時候其他代碼一樣可以運行。
jquery的async:false,這個屬性
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved