http請求很多時候會受到網絡阻塞、重連等原因導致響應很慢,如果此時做了一些操作,但過幾秒后又響應了之前的請求,就會造成很多問題,此時我們可以使用abort()方法強制停止http請求:
let ajaxGet = $.get('URL',{id:1},
function
(data){
…
});
ajaxGet.abort();
1. $.get返回的數據類型是XMLHttpRequest,請參考手冊。($.post、$.ajax、$.getJSON、$.getScript也同樣);
2. XMLHttpRequest對象有abort()方法;
注意:abort()后,ajax請求立即停止,但還是會執行后面的function()。如果想避免執行其中的操作,可以在function()開始位置加判斷:
let
ajaxGet = $.get(“URL”,{id:1},
function
(data){
if
(data.length == 0)
return
true
;
…
});
ajaxGet.abort();
防止重復請求:
let request;
if
(request !=
null
)
request.abort();
request = $.get(“URL”,{id:1},
function
(){
//do something
});
希望本文對你有所幫助!