可能重複:
Kill Ajax requests using JavaScript using jQuery使用Jquery .ajax取消正在進行的AJAX請求?
下面是簡單的代碼,我有工作:
$("#friend_search").keyup(function() {
if($(this).val().length > 0) {
obtainFriendlist($(this).val());
} else {
obtainFriendlist("");
}
});
function obtainFriendlist(strseg) {
$.ajax({
type: "GET",
url: "getFriendlist.php",
data: "search="+strseg,
success: function(msg){
UIDisplayFriends(msg);
}
});
}
本質上講,如果一個keyup事件是在函數obtainFriendlist返回之前解僱結果(並觸發UIDisplayFriends(味精),我需要取消在飛行中的請求。我一直有的問題是,他們bui升起,然後突然重複觸發函數UIDisplayFriends。
非常感謝您,並建議有利於太
我喜歡你對延遲所做的事情,這很好。但是,如果用戶是一個緩慢的作家,那麼請求堆積起來還是沒有風險,每次擊鍵都會觸發一個新的ajax請求? –
它仍然是一個風險,所以你會想要應用這兩種策略,取消舊的查詢和上述方法來減少服務器調用。第三個屏幕將驗證輸出是否仍然匹配請求。 –
非常好。謝謝,這是非常豐富的 – TaylorMac