日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題

瀏覽:1002日期:2022-06-11 13:44:51

昨天下午做項(xiàng)目遇到一個(gè)問(wèn)題,貼出來(lái)方便以后翻閱,也給大家個(gè)參考。

問(wèn)題:

具體做的是個(gè)文件導(dǎo)入的功能,導(dǎo)入的功能是成功了,但是界面一直得不到返回值,排查了一下午,調(diào)試的時(shí)候是可以有返回的,但是關(guān)掉瀏覽器調(diào)試界面,卻得不到返回結(jié)果。

原因:

一直以為是我后臺(tái)程序有問(wèn)題,晚上回到家才想起來(lái)ajax的問(wèn)題,把a(bǔ)jax的異步處理改為同步,就出來(lái)效果了,具體的原因請(qǐ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ì)把頁(yè)面里所有的代碼停止加載,頁(yè)面出現(xiàn)假死狀態(tài),當(dāng)這個(gè)AJAX執(zhí)行完畢后才會(huì)繼續(xù)運(yùn)行其他代碼頁(yè)面假死狀態(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è)過(guò)程中,前臺(tái)會(huì)繼續(xù) 執(zhí)行ajax塊后面的腳本,直到server端返回正確的結(jié)果才會(huì)去執(zhí)行success,也就是說(shuō)這時(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è)等待過(guò)程中),前臺(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í)同步的,也就是說(shuō),這個(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"); //不緩存Ajax
xmlhttp.send(sendStr); 
return returnValue;
在異步時(shí)才可以用xmlHttpReq.onreadystatechange狀態(tài)值!下面是異步和同步的不同調(diào)用方式:

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

如果是同步(false),返回值是true或false,因?yàn)閳?zhí)行完send后,開(kāi)始執(zhí)行onreadystatechange,程序會(huì)等到onreadystatechange都執(zhí)行完,取得responseText后才會(huì)繼續(xù)執(zhí)行下一條語(yǔ)句,所以returnValue一定有值。

如果是異步(true),返回值一定是null,因?yàn)槌绦驁?zhí)行完send后不等xmlhttp的響應(yīng),而繼續(xù)執(zhí)行下一條語(yǔ)句,所以returnValue還沒(méi)有來(lái)的及變化就已經(jīng)返回null了。

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

同步異步使用xmlhttp池時(shí)都要注意:取得xmlhttp時(shí)只能新建xmlhttp,不能從池中取出已用過(guò)的xmlhttp,因?yàn)楸皇褂眠^(guò)的xmlhttp的readyState為4,所以同步異步都會(huì)send但不執(zhí)行onreadystatechange。

以上這篇解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持。

標(biāo)簽: Ajax
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
五月精品视频| 亚洲综合精品| 日本午夜免费一区二区| 日本在线视频一区二区| 中文一区一区三区免费在线观| 欧美在线资源| 丝袜a∨在线一区二区三区不卡| 最新亚洲一区| 午夜在线精品偷拍| 日韩一区精品| 91亚洲无吗| 久久精品资源| 日韩免费一区| 免费观看久久av| 99pao成人国产永久免费视频| 在线亚洲人成| 在线精品视频在线观看高清| 爽爽淫人综合网网站| 蜜臀精品久久久久久蜜臀| 天堂精品久久久久| 国产精品亚洲欧美| 国产美女高潮在线| 国内精品福利| 在线精品亚洲| 国产伦理一区| 亚洲va中文在线播放免费| 宅男噜噜噜66国产日韩在线观看| 蜜桃一区二区三区在线观看| 91国内精品| 高清一区二区三区| 亚洲1234区| 男女男精品视频网| 国产精品v亚洲精品v日韩精品| 麻豆国产在线| 蜜桃久久久久久| 国产精品地址| 国户精品久久久久久久久久久不卡| 久久午夜影视| 精品一区二区三区亚洲| 日韩三区免费| 亚洲毛片在线| 国产精品精品| 日韩制服丝袜先锋影音| 久久精品资源| 国产亚洲一级| 欧美视频二区| 亚洲第一区色| 国产色噜噜噜91在线精品| 日韩欧美精品一区| 视频在线观看一区二区三区| 国产精品一页| 精品在线91| 免费一区二区三区在线视频| 91精品1区| 欧美a一区二区| 欧美aa国产视频| 国产精品免费不| 狠狠干成人综合网| 久久超碰99| 在线一区免费观看| 青青草国产成人99久久| 久久九九电影| 国产精品乱战久久久| 在线亚洲一区| 国产精品二区不卡| 综合亚洲视频| 成人午夜国产| 国产精品亚洲综合在线观看| 午夜精品网站| 国产成人精品一区二区三区免费| 蜜桃一区二区三区在线| 日韩免费在线| 国产精品一区高清| 国产午夜久久| 亚洲精品成人图区| 亚洲欧美日韩国产一区| 欧美激情久久久久久久久久久| 亚洲欧美日韩一区在线观看| 国产一区二区亚洲| 日韩精品视频一区二区三区| 999视频精品| 国产精品国产三级在线观看| 蜜桃视频在线观看一区| 亚洲高清成人| 国产+成+人+亚洲欧洲在线| 青青草国产成人99久久| 99成人在线| 日韩精品不卡一区二区| 日韩国产91| 成人av二区| 国产精品videossex| 国产精品色网| 久久蜜桃精品| www在线观看黄色| 91精品国产经典在线观看| 亚洲欧洲一区| 99精品电影| 91亚洲人成网污www| 欧美激情91| 国产欧美一区二区精品久久久 | 久久精品福利| 欧美一区=区三区| 日韩美女国产精品| 伊人久久大香伊蕉在人线观看热v| 欧美在线网站| 免费视频亚洲| 欧美91精品| 亚洲二区视频| 久久久精品日韩| 视频小说一区二区| 中文字幕在线官网| 日本不卡免费高清视频在线| 福利精品一区| av资源新版天堂在线| 久久99国产精品视频| 国产精品亚洲四区在线观看 | 亚洲午夜天堂| 成人国产精品一区二区网站| 久久中文字幕一区二区三区| 国产乱子精品一区二区在线观看 | 国产午夜一区| 国产精品任我爽爆在线播放 | 日本成人在线不卡视频| 综合精品一区| 亚洲资源网站| 日韩精品亚洲aⅴ在线影院| 日韩三区四区| 欧美一区在线观看视频| 91九色综合| 国产精品分类| 成人午夜亚洲| 日本蜜桃在线观看视频| 日韩在线短视频| 亚洲午夜在线| 久久av在线| 亚洲乱码久久| 日韩高清在线观看一区二区| 69堂免费精品视频在线播放| 国产精品乱战久久久| 精品国产精品国产偷麻豆 | 丝袜亚洲精品中文字幕一区| 亚洲一区激情| 日韩欧美中文字幕在线视频| 日韩精品一区二区三区中文字幕| 日韩av在线免费观看不卡| 国产精品久久国产愉拍| 成人精品国产亚洲| 欧美男人天堂| 激情综合网五月| 久久亚洲国产精品一区二区| 亚洲精品高潮| 麻豆一区二区三区| 在线一区视频观看| 蜜桃av一区二区在线观看| 91p九色成人| 久久久久久网| 亚洲一区观看| 国产精品一区二区三区av| 91偷拍一区二区三区精品| 欧美大黑bbbbbbbbb在线| 日韩美女国产精品| 国产aⅴ精品一区二区四区| 国内激情久久| 日韩精品一区二区三区中文在线| 久久香蕉网站| 欧美1区2区3区| 欧美在线日韩| 不卡一二三区| 亚洲综合色婷婷在线观看| 精品一区电影| 午夜久久美女| 国产亚洲精品美女久久久久久久久久| 国产suv精品一区二区四区视频| 影音国产精品| 久久不卡日韩美女| 亚洲精品1区| 久久97久久97精品免视看秋霞| 久久精品卡一| 日韩av字幕| 久久精品国内一区二区三区水蜜桃| 亚洲一区有码| а√天堂8资源中文在线| 免费看黄色91| 三上亚洲一区二区| 亚洲精品少妇| 成人美女视频| 欧美日韩一区二区三区四区在线观看| 久久三级视频| 国产乱论精品| 国产精品社区| 裤袜国产欧美精品一区| 日韩精品亚洲aⅴ在线影院| 97精品一区| 日韩精品视频网| 欧美成人亚洲| 国产精品白丝一区二区三区| 中文日韩欧美| 日本一二区不卡| 中文视频一区| 国产99亚洲|