Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przerwanie wysyłania wyniku skryptu php
Forum PHP.pl > Forum > PHP
rafalpielecha
mam dwa divy np. #form_szukaj i #wynik
w #fom_szukaj mam pole input do wprowadzania szukanego ciągu

i za pomocą jquery odczytuje sobie że coś zostało tam wpisane i wtedy szuka mi w bazie i wyświetla wyniki w divie #wynik.

i teraz jak wpisuje np. ciąg "dom" to wysyła mi zapytania po wpisaniu każdej litery (keyup()) i wszystko byłoby ok, ale czasami dzieje się tak, że wyniki z wcześniejszych zapytań przychodzą później
czyli wpisuje "dom" i najpierw przychodzi wynik z zapytania "d" później "dom" a na końcu "do" (mimo że "do" było wysłane wcześniej niż "dom".

czy istnieje możliwość przerwania czy odrzucenia po wysłaniu kolejnego zapytania?

na razie zrobiłem to trochę z partyzanta - opóźniłem o 0,5 sekundy moment wysłania zapytania (w javascrypcie) i jeśli w ciągu tych 0,5 sekundy pojawi się nowe zapytanie to anuluje wysyłanie poprzedniego.
ale to wszystko w javascripcie, a chciałbym to jakoś zrobić w php - już po wysłaniu zapytania, czy coś takiego
nospor
To niech ci serwer zwraca dla jakiej frazy podał wynik wyszukiwań wówczas porównasz to z frazą w input i jesli jest różna to odrzucasz. Proste.
piotrooo89
możesz zrobć np tak:

Kod
keyup - var flaga = setTimeout(funkcjaZAjaxem, 500);
keydown - clearTimeout(flaga);
rafalpielecha
dzieki, połączę obie metody - tak będzie najlepiej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.