Je rencontre des problèmes avec un champ ajax autocomplete. J'ai fait la même chose avant, mais je n'ai jamais eu de problèmes car je n'avais jamais vraiment une connexion Internet lente.
J'ai une boîte de saisie qui agit comme un champ à remplissage automatique. J'ai lié un événement jQuery keyup() à ce champ et j'interroge un fichier php à chaque pression sur ce champ, renvoyant une liste de 20 éléments correspondants. Bien que les données de retour ne contiennent que 2 à 3 kb au maximum, si je commence à taper plus vite, les appels ne reviennent parfois pas dans l'ordre dans lequel ils ont été appelés.
Dites que je suis à la recherche de "stackoverflow". Il arrive parfois que la liste finale que je reçois quand j'ai déjà tapé "stack" est "st" qui apporterait plus de matches que nécessaire. Est-il possible de s'assurer que le dernier appel que je reçois est le dernier? Ce à quoi je pensais était de faire en sorte que les nouvelles données soient plus petites ou au moins égales aux données que j'ai auparavant, mais je pense que ce serait beaucoup. Les données que j'interroge proviennent du graphe Facebook ouvert, à savoir un objet json comme http://graph.facebook.com/100000530820249/friends (si vous avez un compte Facebook, vous pouvez essayer http://graph.facebook.com/me/friends si vous avez besoin d'authentification pour ma liste).
J'ai vraiment besoin de récupérer le côté serveur de données pour certains traitements, donc une méthode purement JS est hors de question. La solution devrait fonctionner pour s'assurer que les appels ajax ne se chevauchent pas ...
Merci d'avance à tous!
Merci pour le conseil, sonne comme une bonne idée! Je vais essayer de l'implémenter et de revenir vers vous avec les résultats. Je ne voulais pas charger jQueryUI uniquement pour cela, et même si je le voulais, il y aurait beaucoup de personnalisations à faire si je voulais l'adapter à ce dont j'avais besoin. – Claudiu
A travaillé comme un charme, une solution élégante. Merci pour le tuyau! – Claudiu
@Claudiu: Génial! Je ne savais pas exactement comment cela fonctionnerait, mais cela semblait logique en théorie. –