Je travaille sur un projet web qui nécessitera pas mal de mises à jour de la part de plusieurs utilisateurs et de gros volumes de données.moyen le plus efficace pour mettre à jour un site (beaucoup de données) sans actualisation?
L'ammount de données attendu est de 70 lignes uniques avec chacune 14 champs à mettre à jour régulièrement. C'est un total de 980 champs.
J'ai d'abord tenté une série de requêtes ajax synchrones à la base de données en utilisant une boucle for pour mettre à jour tous les champs. Cela a causé un grand blocage. Je dirais que pendant 20 secondes de mes 30 secondes entre les mises à jour, la page était gelée.
La tentative suivante consistait à exécuter les requêtes ajax de manière asynchrone en mettant à jour les champs dans une boucle for. Cela atténuait le ralentissement, mais je recevais des problèmes étranges. Je pense que mon changement de variable de boucle forçait les choses à être écrites sur les mauvais éléments HTML.
Actuellement, j'ai une page .asp back-end écrit le code HTML, et efface le innerHTML de la div contenant, puis définissant div.innerHTML = transport.responseText. Cela semble fonctionner assez bien pour moi, mais je suis juste curieux de savoir ce que les autres auraient fait pour mettre à jour autant de données étant donné les outils disponibles (vbscript, javascript, et une base de données Access).
Les données sur tous les postes de travail seront les mêmes, et plusieurs utilisateurs interagiront en temps réel pour éditer les données. Cependant, ils seront tous concernés par la mise à jour de leur propre partie des données, mais il est nécessaire que tout soit mis à jour et visible dans sa dernière itération par tous les utilisateurs.
Ceci est assez proche de la façon dont je le faisais auparavant. Je passais comme JSON, cependant. Le prototype eval.json est-il un appel intensif du processeur? –
sur votre question, vous dites: "Actuellement, j'ai une page .asp back end écrire le code HTML, et effacer le innerHTML de la div contenant, puis en définissant div.innerHTML = transport.responseText.". Ceci est très différent de simplement mettre à jour le contenu de la cellule. Pour seulement 1000 valeurs JSON est correct. – Peter
ouais ... J'essayais de mettre à jour juste le contenu de la cellule, mais j'avais des comportements vraiment bizarres, donc je l'ai fait à la place. –