2 votes

Rafraîchir les données de la table toutes les 5 secondes

Je suis actuellement en phase de conception et je me demandais comment mettre à jour un tableau toutes les 5 secondes.

Ma table affichera les données en lecture seule renvoyées par mon modèle.

Normalement, mon point de vue aurait juste <table></table> HTML et ensuite une boucle foreach pour écrire les données.

Cependant, comme je veux rafraîchir l'ensemble de ce tableau toutes les 5 secondes, je ne sais pas comment le mettre en œuvre.

Je sais qu'il existe la fonction javascript setinterval, mais je ne sais pas non plus ce qu'il faut faire à ce moment-là. Est-ce que ce serait quelque chose comme ça ?

eg/

function getdata()
{
    $.getJSON("/mycontroller/mymethod"), 

                 function(data) {

                $.each(data, function(i, item) {
                    var row = {  item.ID, item.Date,
                         item.Title
                    };
               $(#table).tableInsertRows(row);
                });

            });
}
    setInterval( "getdata", 5000 );

1voto

Gabe Moothart Points 12400

Il peut être plus facile d'avoir votre mymethod rend une vue au lieu de renvoyer JSON. Vous pouvez alors simplement définir le paramètre innerHTML d'un div à la réponse ajax.

Sinon, votre approche fonctionnera, mais vous devrez évidemment supprimer d'abord les lignes de la table existante :

$('#table').tableRemoveRows({from:0, length:???});

Modifier

En relisant votre question, on dirait que vous demandez plus sur setInterval que de créer réellement le tableau. Vous devez continuer à réenregistrer le callback, donc quelque chose comme ceci :

function getdata()
{
    $.getJSON("/mycontroller/mymethod"), function(data) {

        $.each(data, function(i, item) {
                var row = {  item.ID, item.Date,
                     item.Title
                };
           $(#table).tableInsertRows(row);
        });

        setInterval( getdata, 5000 );

    });
}
setInterval( getdata, 5000 );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X