Ajax同步設置超時時間出錯邏輯解決方案

慣性思維害死人啊,都讓我感覺老了都,哎

寫功能時有幾個ajax進行數據獲取,需要同步獲取數據,比如1ajax請求會超時需要判定請求失敗,然後給數據給2去ajax請求,慣性思維 要同步
但是幾番掙扎之後發現同步會使超時設置失效
技術解決不了就邏輯來填補:
將1ajax設置成異步
在設置其超長時間見
用一個function去包裹2ajax
在超長判斷中執行2ajax的function方法
哦了 變相的同步起來!



var urlTest=$.ajax({
   url: lhjcckUrl,
   type: 'GET',
   // async: false,
   timeout : 2000, //超時時間設置
   success:function(data){ //請求成功的回調函數
      alert("成功");
      log();
   },
   complete : function(XMLHttpRequest,status){ //請求完成後最終執行參數
      if(status=='timeout'){//超時,status還有success,error等值的情況
         log();
         urlTest.abort();
         alert("超時");
      }
   }
});

function log(){
ajax......
}
在這裏插入代碼片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章