orientujecie się jakie są najlepsze techniki przy anulowaniu requestów Ajaxowych? Już tłumaczę o co chodzi:
Załóżmy, że piszemy skrypt autocomplete dla inputa. Ktoś wpisuje kolejno litery:
- K - wysyła się zapytanie o sugestie na K
- KO - znów wysyłami, tym razem na KO...
- KOT - KOT...
Z oczywistych przyczym każde zdarzenie nie może generować osobnego requestu asynchronicznie, bo mielibyśmy śmietnik. W takim razie jakie są zalecane techniki w takich sytuacjach? Bawiłem się w coś takiego:
var xhr = {}; $("#field").bind("input", function() { if(typeof xhr.abort === "function") { xhr.abort(); } xhr = $.get( // parametry requesta ); });
Działa prawidłowo, ale nie tak szybko jak powinno. Wygląda to tak, jakby metoda .abort() nie działała natychmiastowo. Da się to odczuć w tym przypadku, gdy szybko piszemy w tym polu. Odpowiedź przychodzi o wiele później niż w przypadku powolnego pisania.
Pomysły?