| Autor | Správa |
Bokos
 Užívateľ
 Založený: 22.02.2009 Príspevky: 88
 | Zaslal: Ne 05.02.12 21:10 |   |
Ahojte, pri "ajaxovom" vyhľadávaní sa mi vždy po zmene vo formulári vyvolá požiadavka. To znamená ak pridám do formulára 1500 znakov, tak sa po sebe vyvolá 1500 požiadavok.
Chcem sa spýtať ako spraviť aby vždy bola aktuálna len jedna . Je to veľmi podobné vyhľadávanie facebookovému...
Ďakujem vopred za odpovede. |
| |
  |
 |
emer
 Užívateľ
 Založený: 26.12.2006 Príspevky: 3661 Bydlisko: Nitra Vek: 18
 | Zaslal: Ne 05.02.12 21:38 |   |
musis tam dat nejaky casovy odstup, aby poziadavku vytvorilo az niekolo milisekund alebo sekund po napisani posledneho znaku.
// pridané po 3 minútach od posledného príspevku
pouzil by som asi event onkeyup a pozri si setTimeout a clearTimeout
neviem, ci to bude naj riesenie, vzivote som to nerobil, ale myslim ze by to malo byt fajn |
_________________ Pocity popi*i, keď víš že všetko hrá jak má, vychádza to všetko pekne, tak jak má, hovorim si ná ne, musíš vedeť plánovať | |
    |
 |
Bokos
 Užívateľ
 Založený: 22.02.2009 Príspevky: 88
 | Zaslal: Po 06.02.12 17:24 |   |
No ja to mám na onkeyup . Mne len ide o to, ak niekto začne stláčať klávesnicu rýchlosťou svetla tak aby sa nezačalo vyrábať 300k požiadavkou, ale vždy bol aktuálny len jeden . |
| |
  |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3776 Bydlisko: Brno
 | Zaslal: Po 06.02.12 18:13 |   |
Cital si emerov prispevok? Navrhuje dobre riesenie - po stlaceni klavesy pockas cojaviem 100-200ms, ci uzivatel nestlacil dalsiu klavesu, a ked nie, mozes spustit request. Jo a starsi request mozes vzdy .abort()ovat, aby nebezali dva naraz. |
| |
    |
 |
Bokos
 Užívateľ
 Založený: 22.02.2009 Príspevky: 88
 | Zaslal: So 11.02.12 21:13 |   |
Och sa ospravedlňujem . Nejak sa mi to ale nedarí abort() ... Viete mi poradiť ako poslednú požiadavku abortnúť  |
| |
  |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3776 Bydlisko: Brno
 | Zaslal: Ne 12.02.12 12:00 |   |
Malo by to fungovat uplne intuitivne.| kód: | var xhr = new XMLHttpRequest();
//...
xhr.abort(); |
Mozno nefunguje v IE6 (ako ActiveXObject), vyskusaj. |
| |
    |
 |
Bokos
 Užívateľ
 Založený: 22.02.2009 Príspevky: 88
 | Zaslal: Po 13.02.12 18:22 |   |
Ďakujem pekne ... |
| |
  |
 |
|