가능한 중복 :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 반환되기 전에 해고하는 경우 : 다음
Kill Ajax requests using JavaScript using jQuery
내가 함께 일하고 간단한 코드입니다 결과 (그리고 UIDisplayFriends (msg)를 트리거하면, 기내 요청을 취소해야합니다. 내가 가지고 있었던 문제는 그들이 bui ld up, 갑자기 함수 UIDisplayFriends가 반복적으로 실행됩니다.
매우 감사하고 조언은 도움이 너무
나는 당신이 지연과 함께하는 것을 좋아한다. 그것은 멋지다. 그러나 사용자가 느린 작성자 인 경우 요청이 쌓이면 모든 키 입력으로 새로운 Ajax 요청이 트리거됩니다. –
여전히 위험 할 수 있으므로 두 가지 전략을 모두 적용하고 이전 쿼리를 취소하고 서버 호출을 줄이는 위의 방법을 적용하려고합니다. 세 번째 화면은 출력이 여전히 요청과 일치하는지 확인하는 것입니다. –
우수. 고마워, 이거 매우 유익하다. – TaylorMac