如何終止ajax請求?資料處理太慢,我不想載入了,要求中斷重新開始?使用jQuery或者原生JavaScript進行處理?
阿新 • • 發佈:2019-01-10
一:請求次數多的情況下我們可愛能會遇到;
二:非同步執行沒有返回具體引數,或者說後臺顯示返回success,前臺顯示空白;
三:網路載入失敗;
以上情況我們需要配合使用者體驗,我們可以在終止迴圈提示使用者網路狀態載入異常,重新載入;
1、採用jQuery的ajax方式:
<script src = "jQuery.js"></script> <body> <button id="song">點選結束載入資料,重新開始載入</button> </body> <script> var xhr = $.ajax({ type:'POST', url:'test.json', data:'', success:function(){ confirm('執行成功') } }) alert(xhr);//執行資料顯示彈窗 </script> <script> $(function(){ $("#song").click(function(){ alert('click'); xhr.abort(); }) }) </script>
2、原生JavaScript;根據響應狀態改變關閉
xmlHttp.open("POST","Url",true); xmlHttp.onreadystatechange=function(){ ...//得到響應之後的操作 } xmlHttp.send(); //設定3秒鐘後檢查xmlHttp物件所傳送的資料是否得到響應. setTimeout("CheckRequest()","3000"); function CheckRequest(){ //為4時代表請求完成了 if(xmlHttp.readyState!=4){ alert('資料響應超時'); //關閉請求 xmlHttp.close(); } }
ok,問題結束;