我正在嘗試構建一個自動完成的用戶界面。有一個輸入,其keyup
函數執行ajax調用服務器以獲取最相關的數據。但是,如果用戶鍵入一個字,例如10個字符,則每個keyup
都會發出一個ajax調用,並且我的對話框將刷新10次。執行當前的ajax調用並中止所有先前的調用
我嘗試使用abort()
進行ajax調用。當我對之前的ajax調用進行中止時,不會進行調用,但仍然會在執行最後一個調用之前等待10個調用,這會使用戶體驗非常糟糕。
那麼有沒有一種方法可以執行當前的ajax調用,而不會從前一個延遲?
我的代碼的一部分:
var request_autocomplete=jQuery.ajax({});
$('.review_autocomplete').keyup(function() {
request_autocomplete.abort();
request_autocomplete=jQuery.ajax({
// DO something
});
});
可能重複[jQuery的自動完成,可以給我時,我提出一個新的前一個AJAX調用停止?](http://stackoverflow.com/questions/4121963/jquery-autocomplete-can-i-have-the-previous-ajax-calling-stopped-when-i-raise -a) – Farshad 2014-08-29 23:51:30
我不使用JQuery自動完成 – 2014-08-30 00:18:45