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

您的位置:首頁技術文章
文章詳情頁

解決ajax請求后臺,有時收不到返回值的問題

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

昨天下午做項目遇到一個問題,貼出來方便以后翻閱,也給大家個參考。

問題:

具體做的是個文件導入的功能,導入的功能是成功了,但是界面一直得不到返回值,排查了一下午,調試的時候是可以有返回的,但是關掉瀏覽器調試界面,卻得不到返回結果。

原因:

一直以為是我后臺程序有問題,晚上回到家才想起來ajax的問題,把ajax的異步處理改為同步,就出來效果了,具體的原因請看下文詳解。

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狀態值!下面是異步和同步的不同調用方式:

xmlHttpReq.open("GET",url,true);//異步方式
 xmlHttpReq.onreadystatechange = showResult; //showResult是回調函數名
 xmlHttpReq.send(null);
function showResult(){ 
 if(xmlHttpReq.readyState == 4){ 
 if(xmlHttpReq.status == 200){
 ******
 }
 }
}
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請求后臺,有時收不到返回值的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

標簽: Ajax
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲涩涩在线| 国产毛片精品| 国产香蕉精品| 久久国产三级| 一二三区精品| 蜜桃久久av一区| 日本大胆欧美人术艺术动态| 日韩欧乱色一区二区三区在线| 精品一区不卡| 精品一区二区三区免费看| 久久精品亚洲一区二区| 国产精品hd| 91九色综合| 69堂精品视频在线播放| 亚洲美洲欧洲综合国产一区| 日韩高清一区在线 | 国产精品久久乐| 国产毛片一区二区三区| 欧美天堂一区| 精品国产免费人成网站| 国产资源在线观看入口av| 欧美日本久久| 久久久久97| 蜜臀久久99精品久久一区二区 | 蜜桃一区二区三区在线观看| 免费一级片91| 欧美视频久久| 久久久久久色| 亚洲精品乱码| 亚洲欧洲午夜| 国产欧美日韩视频在线| 播放一区二区| 午夜在线视频观看日韩17c| 婷婷精品在线| 视频一区在线播放| 天堂va欧美ⅴa亚洲va一国产| 亚洲一级淫片| 久久国产精品色av免费看| 国产66精品| 97精品中文字幕| 成人午夜在线| 999国产精品永久免费视频app| 欧美69视频| 日本中文字幕不卡| 久久精品国产99国产精品| 亚洲91视频| 日韩欧美久久| 日韩啪啪电影网| 日韩高清二区| 精品视频一区二区三区在线观看| 成人va天堂| 美日韩精品视频| 国产一区二区三区四区五区传媒| 影音先锋久久| 欧美国产精品| 亚洲深夜影院| 日韩精品第一区| 一区二区三区四区日韩| 午夜精品亚洲| 欧美专区一区| 精品日韩毛片| 日韩av在线播放网址| 香蕉成人久久| 国产成人久久精品一区二区三区| 黄色精品网站| 国产一区二区三区精品在线观看| 午夜欧美精品久久久久久久| 免费亚洲婷婷| 久久国产生活片100| 亚洲一级特黄| 国产伦理久久久久久妇女| 亚洲综合婷婷| 欧美精品一区二区久久| 国产欧美成人| 亚洲精品欧洲| 先锋影音久久久| 黑森林国产精品av| 久久激情五月激情| 日本aⅴ亚洲精品中文乱码| 国产精品不卡| 日韩精品免费一区二区夜夜嗨| 欧美日韩精品一本二本三本 | 亚洲精品小说| 精品一区二区三区在线观看视频| 蜜桃91丨九色丨蝌蚪91桃色| 国产传媒av在线| 国产精品亚洲欧美日韩一区在线 | 99精品视频在线| 福利精品在线| 国产精品久久久久久久久久久久久久久 | 国产精品一区二区三区av| 亚洲在线国产日韩欧美| 亚洲一区成人| 亚洲手机视频| 欧美日韩一区自拍| 亚洲精品伊人| 色8久久久久| 一区在线视频观看| 久久精品观看| 亚洲小说欧美另类婷婷| 日韩在线中文| 色综合五月天| 激情中国色综合| 日韩中文首页| 国产一区2区在线观看| 国产乱码精品一区二区三区四区 | 97久久中文字幕| 亚洲人亚洲人色久| 免费日韩av| 日韩在线观看一区二区| 不卡中文一二三区| 欧美一区二区性| 午夜在线精品| 亚洲精品乱码日韩| 四虎精品一区二区免费| 国产色噜噜噜91在线精品| 欧美日本不卡高清| 国产亚洲精品v| 国产精品女主播一区二区三区| 成人羞羞在线观看网站| 你懂的国产精品| 国产精品免费大片| 欧美日本不卡| 久久精品国产久精国产爱| 欧美sm一区| 亚洲国内欧美| 99riav1国产精品视频| 日韩国产在线不卡视频| 久久99偷拍| 成人av三级| 黄色日韩在线| 国产一卡不卡| 精品一区视频| 神马午夜在线视频| 不卡一二三区| 视频在线在亚洲| 最新亚洲国产| 欧美黑人巨大videos精品| 亚洲先锋成人| 国产亚洲欧美日韩精品一区二区三区| 麻豆高清免费国产一区| 亚洲午夜av| 日韩高清电影免费| 日韩网站中文字幕| 91精品国产自产观看在线| 999视频精品| 国产精品调教| av成人国产| 麻豆国产在线| 亚洲综合不卡| 中文字幕一区久| 欧美日韩18| 亚洲成人三区| 国产一区二区三区国产精品| 中文字幕一区日韩精品| 日韩欧美国产精品综合嫩v| 亚洲va久久| 91精品一区国产高清在线gif| 奇米色欧美一区二区三区| 欧美日韩国产一区二区三区不卡| 国产精品久久久亚洲一区| 欧美专区18| 日韩精品免费一区二区三区| 国产精品分类| 99久久夜色精品国产亚洲1000部| 国产视频一区二区在线播放| 一区在线视频观看| 高清日韩中文字幕| 亚洲深爱激情| 日韩视频中文| 日韩动漫一区| 欧美日韩国产综合网| 免费福利视频一区二区三区| 婷婷成人在线| 国产精品久久久久久久久久妞妞| 国产日韩三级| 黄色在线网站噜噜噜| 国产欧美高清视频在线| 久久婷婷国产| 亚洲在线成人| 日韩在线观看中文字幕| 午夜久久tv| 少妇精品在线| 妖精视频成人观看www| 影音先锋久久| 99久久精品网站| 亚洲区国产区| 日韩精品一级中文字幕精品视频免费观看| 色婷婷精品视频| 日韩1区在线| 欧美精品黄色| 国产精品一区二区三区av| 中文字幕免费精品| 久久亚洲资源中文字| 日韩影院免费视频| 国产精品夜夜夜| 欧美日韩一区自拍| 国产精品国产三级国产在线观看| 日本免费一区二区视频| 精品在线网站观看|