Salut à toutes et à tous :jap:
J’ai un problème non-bloquant (juste chiant :D) avec une application sur laquelle je taff …
Pour faire simple : j’ai un petit moteur de recherche qui va afficher une liste des résultats trouvés en excluant au fur et à mesure les résultats en fonctions des premières lettres de recherches tapé (pour faire encore plus simple : c’est un “suggest”, la même chose que sur google suggest) …
Par exemple, prenons une table d’éléments que l’ont peut rechercher :
- CLUBIC
- CLUBAC
- CLOCLO
- COCO
Dans mon champ de recherche, je vais saisir une suite de lettre, et à chaque saisie (utilisation de l’évènement javascript : onkeyup), une requête ajax est envoyé au fichier avec les lettres saisies :
- je tape C > recherche de tous les termes commençant par C
- je rajoute un L > recherche de tous les termes commençant par CL
- je rajoute un U > recherche de tous les termes commençant par CLU
Le problème, c’est que le résultat s’affiche dans un seul et même div (de façon à avoir une liste qui se réduit au fur et à mesure), et que la durée d’exécution des recherches est décroissante > la première recherche est plus longue que la seconde (car plus de résultats), qui elle même est plus longue que la troisième, etc …
Et donc, c’est là que le bat blesse : le résultat pour la requête complète s’affiche presque immédiatement, mais il est ensuite remplacé par les résultats des requêtes plus lentes, qui en terminant leur exécution, remplace le contenus du div de résultat (ce qui est en fait extrêmement logique) :
- je tape C > la recherche commence pour tous les termes commençant par C
- je rajoute un L > la recherche commence pour tous les termes commençant par CL
- je rajoute un U > la recherche commence pour tous les termes commençant par CLU
- le résultat de la recherche CLU s’affiche (ce que je veux)
- le résultat de la recherche CL, plus lent à générer car ayant plus de résultat, s’affiche (ce que je ne veux pas)
- le résultat de la recherche C, encore plus lent à générer, s’affiche (ce que je ne veux pas non plus :D)
Donc j’aimerais savoir si quelqu’un à déjà travailler sur un suggest en ajax, et comment il a résolus ce problème ? … Ou si personne n’est déjà travailler là dessus, qu’elles seraient vos idées pour résoudre ce problème ?
A vot’ bon coeur msieu dame :jap: …
PS : j’utilise le framework ajax openrico en vers 1.1.2 avec le prototype.js en version 1.6.0.2 …
Edité le 14/03/2008 à 12:11