Можно создать дубликат:
Kill Ajax requests using JavaScript using jQueryОтменить запросы AJAX в полете, используя JQuery .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 (msg), мне нужно отменить запрос на рейс. Проблема, с которой я столкнулась, заключается в том, что они bui ld up, а затем внезапно функция UIDisplayFriends запускается повторно.
Большое спасибо, и советы полезно тоже
Мне нравится, что вы делаете с задержкой, это приятно. Тем не менее, еще нет риска, что запросы накапливаются, если пользователь является медленным автором, запуская новый ajax-запрос с каждым нажатием клавиши? –
Это все равно было бы риском, поэтому вы хотели бы применить обе стратегии, отменив старый запрос и указанный выше метод для сокращения вызовов сервера. Третий экран будет проверять, что выход по-прежнему соответствует запросу. –
Отлично. спасибо, это очень информативно – TaylorMac