国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

ajax中的async屬性值之同步和異步及同步和異步區(qū)別

2024-09-01 08:28:18
字體:
供稿:網(wǎng)友

jquery中ajax方法有個(gè)屬性async用于控制同步和異步,默認(rèn)是true,即ajax請(qǐng)求默認(rèn)是異步請(qǐng)求,有時(shí)項(xiàng)目中會(huì)用到AJAX同步。這個(gè)同步的意思是當(dāng)JS代碼加載到當(dāng)前AJAX的時(shí)候會(huì)把頁面里所有的代碼停止加載,頁面出現(xiàn)假死狀態(tài),當(dāng)這個(gè)AJAX執(zhí)行完畢后才會(huì)繼續(xù)運(yùn)行其他代碼頁面假死狀態(tài)解除。而異步則這個(gè)AJAX代碼運(yùn)行中的時(shí)候其他代碼一樣可以運(yùn)行。

ajax中async這個(gè)屬性,用于控制請(qǐng)求數(shù)據(jù)的方式,默認(rèn)是true,即默認(rèn)以異步的方式請(qǐng)求數(shù)據(jù)。

一、async值為true (異步)

當(dāng)ajax發(fā)送請(qǐng)求后,在等待server端返回的這個(gè)過程中,前臺(tái)會(huì)繼續(xù) 執(zhí)行ajax塊后面的腳本,直到server端返回正確的結(jié)果才會(huì)去執(zhí)行success,也就是說這時(shí)候執(zhí)行的是兩個(gè)線程,ajax塊發(fā)出請(qǐng)求后一個(gè)線程 和ajax塊后面的腳本(另一個(gè)線程)

例如

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

在上例中,當(dāng)ajax塊發(fā)出請(qǐng)求后,他將停留function1(),等待server端的返回,但同時(shí)(在這個(gè)等待過程中),前臺(tái)會(huì)去執(zhí)行function2()。

二、async值為false (同步)

當(dāng)執(zhí)行當(dāng)前AJAX的時(shí)候會(huì)停止執(zhí)行后面的JS代碼,直到AJAX執(zhí)行完畢后時(shí),才能繼續(xù)執(zhí)行后面的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(); 

當(dāng)把a(bǔ)syn設(shè)為false時(shí),這時(shí)ajax的請(qǐng)求時(shí)同步的,也就是說,這個(gè)時(shí)候ajax塊發(fā)出請(qǐng)求后,他會(huì)等待在function1()這個(gè)地方,不會(huì)去執(zhí)行function2(),直到function1()部分執(zhí)行完畢。

Ajax同步與異步的區(qū)別

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"); //不緩存Ajaxxmlhttp.send(sendStr); return returnValue;

在異步時(shí)才可以用xmlHttpReq.onreadystatechange狀態(tài)值!下面是異步和同步的不同調(diào)用方式:

Java

xmlHttpReq.open("GET",url,true);//異步方式  xmlHttpReq.onreadystatechange = showResult; //showResult是回調(diào)函數(shù)名  xmlHttpReq.send(null);function showResult(){    if(xmlHttpReq.readyState == 4){      if(xmlHttpReq.status == 200){   ******   }  }}            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 北流市| 北碚区| 平阳县| 汕头市| 土默特右旗| 沂水县| 遵化市| 杂多县| 乐平市| 阳新县| 通海县| 仁寿县| 神农架林区| 上栗县| 鄯善县| 青阳县| 九台市| 兰坪| 施秉县| 南昌县| 白朗县| 平湖市| 长垣县| 西盟| 始兴县| 合山市| 长白| 萍乡市| 永兴县| 浪卡子县| 龙山县| 霍林郭勒市| 淮阳县| 闸北区| 鸡泽县| 新巴尔虎右旗| 林州市| 固始县| 贵定县| 密云县| 武川县|