好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > ajax中的async屬性值之同步和異步及同步和異步區別

ajax中的async屬性值之同步和異步及同步和異步區別

熱門標簽:外呼系統獲取客戶手機號 徐州電銷卡外呼系統供應商 目標三維地圖標注 青海醫療智能外呼系統怎么樣 百靈鳥 科智聯智能電銷機器人 老虎郵局地圖標注點 上海浦東百度地圖標注中心注冊 襄陽外呼系統接口

jquery中ajax方法有個屬性async用于控制同步和異步,默認是true,即ajax請求默認是異步請求,有時項目中會用到AJAX同步。這個同步的意思是當JS代碼加載到當前AJAX的時候會把頁面里所有的代碼停止加載,頁面出現假死狀態,當這個AJAX執行完畢后才會繼續運行其他代碼頁面假死狀態解除。而異步則這個AJAX代碼運行中的時候其他代碼一樣可以運行。

ajax中async這個屬性,用于控制請求數據的方式,默認是true,即默認以異步的方式請求數據。

一、async值為true (異步)

當ajax發送請求后,在等待server端返回的這個過程中,前臺會繼續 執行ajax塊后面的腳本,直到server端返回正確的結果才會去執行success,也就是說這時候執行的是兩個線程,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值為false (同步)

當執行當前AJAX的時候會停止執行后面的JS代碼,直到AJAX執行完畢后時,才能繼續執行后面的JS代碼。

例如

$.ajax({  
     type:"POST", 
     url:"Venue.aspx?act=init", 
     dataType:"html", 
     async: false,
    success:function(result){  //function1()
       f1(); 
       f2(); 
     } 
    failure:function (result) {  
      alert('Failed');  
     }, 
 } 
 function2(); 

當把asyn設為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求后,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。

Ajax同步與異步的區別

var returnValue = null; 
xmlhttp = createXmlHttp(); 
xmlhttp.onreadystatechange = function() { 
  if(xmlhttp.readyState == 4  xmlhttp.status == 200) { 
    if (xmlhttp.responseText == "true") { 
      returnValue = "true"; 
    } 
    else { 
      returnValue = "false"; 
    } 
  } 
}; 
xmlhttp.open("Post",url,true); //異步傳輸 
xmlhttp.setRequestHeader("If-Modified-Since","0"); //不緩存Ajax
xmlhttp.send(sendStr); 
return returnValue;

在異步時才可以用xmlHttpReq.onreadystatechange狀態值!下面是異步和同步的不同調用方式:

Java

xmlHttpReq.open("GET",url,true);//異步方式
  xmlHttpReq.onreadystatechange = showResult; //showResult是回調函數名
  xmlHttpReq.send(null);
function showResult(){  
  if(xmlHttpReq.readyState == 4){   
   if(xmlHttpReq.status == 200){
   ******
   }
  }
}

Java

xmlHttpReq.open("GET",url,false);//同步方式  
      xmlHttpReq.send(null);  
      showResult(); //showResult雖然是回調函數名但是具體用法不一樣~  
function showResult(){   
       //if(xmlHttpReq.readyState == 4){  這里就不用了,直接dosomething吧~  
        //if(xmlHttpReq.status == 200){  
          ******//dosomething  
        //}  
      //}  
}
xmlhttp.open("Post",url,true);

如果是同步(false),返回值是true或false,因為執行完send后,開始執行onreadystatechange,程序會等到onreadystatechange都執行完,取得responseText后才會繼續執行下一條語句,所以returnValue一定有值。

    如果是異步(true),返回值一定是null,因為程序執行完send后不等xmlhttp的響應,而繼續執行下一條語句,所以returnValue還沒有來的及變化就已經返回null了。

    所有如果想獲得xmlhttp返回值必須用同步,異步無法得到返回值。

    同步異步使用xmlhttp池時都要注意:取得xmlhttp時只能新建xmlhttp,不能從池中取出已用過的xmlhttp,因為被使用過的xmlhttp的readyState為4,所以同步異步都會send但不執行onreadystatechange。

您可能感興趣的文章:
  • Ajax請求中async:false/true的作用分析
  • jquery ajax屬性async(同步異步)示例
  • 淺談Jquery中Ajax異步請求中的async參數的作用
  • jQuery中的ajax async同步和異步詳解
  • jQuery ajax 當async為false時解決同步操作失敗的問題
  • 淺談js的ajax的異步和同步請求的問題
  • 細數Ajax請求中的async:false和async:true的差異

標簽:揭陽 紅河 辛集 咸寧 佛山 商洛 股票 荊州

巨人網絡通訊聲明:本文標題《ajax中的async屬性值之同步和異步及同步和異步區別》,本文關鍵詞  ajax,中的,async,屬性,值之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ajax中的async屬性值之同步和異步及同步和異步區別》相關的同類信息!
  • 本頁收集關于ajax中的async屬性值之同步和異步及同步和異步區別的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 天海翼大胆粉苞人体图片| 综合好色| 美女胸又黄又???| 欧洲一线二线三线品牌精华液久久久 | 双性H带各种道具play文| 国产精品hd免费观看| 蒂法浓厚3D榨取在线最终幻想应用介绍| 18videosex 欧美成人| 强开嫩苞又嫩又紧高H纯肉| 少妇做爰XXXⅩ高潮禾苗影视 | 家庭h文| 女总裁的上门龙婿| 调教日记H肉yin荡np打屁股| 色婷婷色综合激情国产日韩| 公交车上摸到花蒂进去了视频| 黑丝美鲍| 嗯啊啊嗯| 99精品国产热久久91蜜月| 欧美性色511电影院| 性做久久久久久久久老女人| 97精品国产91久久久久久| 午夜视频在线观看拍拍拍拍拍| 被夫の上司持久侵犯奈奈美| 黄色a级片免费观看| 啊灬啊灬啊灬快灬深用力A片男| 欧洲美一区二区三区亚洲| 国产aⅴ激情无码久久久无码| 爽?好大?快?深男男| 动漫美女交配| 一级毛片一| 欧美亚洲免费久久久| 乱小说35部分怀孕| 日韩午夜伦| 很详细的肉肉床文过程片段视频| 国产高清???精品王| 影视大全免费在线观看| 91sex国产| 视频在线观看一区| 日本公妇乱婬XXXX视频| 佐佐木明希AV片在线观看| 艳妇荡乳1-8|