Olası Çoğalt:Uçuş sırasında AJAX isteklerini Jquery .ajax kullanarak iptal etme?
$("#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); } }); }
Esasen, bir keyup olay fonksiyonu obtainFriendlist dönmeden önce ateş ise: İşte
Kill Ajax requests using JavaScript using jQuery
ile çalışıyorum basit bir koddur bir sonuç (ve UIDisplayFriends'ı (msg) tetikler, uçuş isteğini iptal etmem gerekiyor.Çalıştığım konu şu ki Sonra, UIDisplayFriends'ın işlevi tekrar tekrar tetiklenir.
Çok teşekkür ederim ve danışma yararlıdır çok
Gecikme ile yaptığınız şeyden hoşlanıyorum, bu hoş. Ancak, kullanıcı yavaş bir yazarsa isteklerin yığılması riski her tuş vuruşuyla yeni bir ajax isteğini tetikleme riski taşımıyor mu? –
Yine de bir risk olurdu, bu nedenle her iki stratejiyi uygulamak, eski sorguyu iptal etmek ve sunucu çağrılarını azaltmak için yukarıdaki yöntemi kullanmak istersiniz. Üçüncü bir ekran, çıktının hala istekle eşleştiğini doğrular. –
Mükemmel. teşekkürler, bu çok bilgilendirici – TaylorMac