2010-10-27 5 views
0

Donc, j'ai un site umbraco avec un certain nombre de produits qui sont gérés par le contenu, j'ai besoin de rechercher/filtrer ce jeu de données sur le front-end en fonction de 5 critères.Filtrage dynamique, est-ce que je le fais mal?

Je pense que j'aurai 300 produits. J'ai besoin de filtrer ces données très rapidement et de masquer les options d'affichage qui ne sont plus pertinentes en fonction des sélections précédentes.

Je suis actuellement en train de construire une implémentation webservice et jquery en utilisant AJAX.

Est-ce que le meilleur moyen de le faire est de le charger dans une structure de données javascript et de l'utiliser ou les appels AJAX seront-ils assez rapides? Évidemment, cela signifie dupliquer la fonctionnalité du côté serveur pour les utilisateurs non-javascript.

+0

Comment les appels AJAX peuvent-ils charger du contenu dans le navigateur? – Saul

+0

Je voulais dire charger toutes les données dans une structure de données Javascript et opérer par Javascript (pas besoin d'AJAX). Edité pour plus de clarté. –

Répondre

1

Si vous avez besoin de filtrer les données "très rapidement" alors j'imagine que le meilleur moyen est de précharger toutes les données puis de les manipuler côté client. Si vous attendez une réponse Ajax chaque fois que l'utilisateur a besoin de filtrer les données, il ne sera pas aussi rapide que de le filtrer sur le client (en supposant qu'ils n'ont pas un ancien ordinateur exécutant IE6).

Cela dépend de la complexité de votre filtrage. Si tout ce que vous faites montre des résultats où, par exemple, le prix du produit est supérieur à 10 $, cela sera certainement beaucoup plus rapide. Si vous effectuez des recherches complexes, il est possible que le traitement sur le serveur soit plus rapide. L'autre question est de savoir combien de données sont sauvegardées pour chaque produit - le préchargement de quelques centaines de produits avec beaucoup de données peut prendre un certain temps.

Comme toujours, la seule façon de vraiment répondre à cette question est de profiler les deux solutions.

Questions connexes