2009-02-27 7 views
1

J'essaye de créer un système de commentaire par lequel les admins sont capables de modérer des commentaires et les utilisateurs peuvent signaler des commentaires tous dans le chargement d'une page. J'ai toutes les connaissances backend sur la façon de supprimer les commentaires, mais je dois vraiment savoir comment les nouveaux commentaires pourraient être chargés à partir de la base de données et affichés sur la page en cours.A quoi ressemblerait le Javascript pour un système de commentaire AJAX?

Editer: Plus précisément, à quoi ressemblerait le javascript actuel qui afficherait les nouvelles réponses?

Répondre

2

Vous devez effectuer un appel AJAX périodique pour interroger le serveur à la recherche de nouveaux commentaires.

Vous devriez avoir une date/heure de la dernière réponse connue du navigateur et l'ID de la question pour interroger le serveur, afin d'optimiser votre trafic.

En utilisant JQuery:

var refreshId = setInterval(function() { 
    $.getJSON("http://server.com/form?question=" + questionId + "?time=" + datetimeStamp", 
     function(data){ 
      $.each(data.items, function(i,item){ 
      $("#comments").append(// new div with content) 
      }); 
     }); 

}, 3000); 
+0

Je préfère les fonctions JSON, mais vous pouvez utiliser AJAX régulière obtenir aussi bien. –

+0

Une façon de le faire sans JQuery? – Sam152

+0

Oui, vous pouvez écrire manuellement tous vos appels AJAX, faire getElementByIds et faire une boucle sur tout ... c'est beaucoup plus facile avec JQuery. –

0

Ou vous pourriez éviter vote et que le serveur pousser les données vers le client. C'est ainsi que GTalk ou Meebo fonctionne en poussant de nouveaux messages. Le support Comet (pushing ou streaming data) est intégré à certains frameworks JavaScript comme Dojo ou un plugin jQuery.

Voir http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications http://plugins.jquery.com/project/Comet

+0

Quelque chose d'indigène à javascript? – Sam152

+0

Je ne vois pas la partie non-native. Il n'y a pas d'exigences supplémentaires à côté de javascript sur le client, et le serveur est fondamentalement laissé intact. – Cesar

+0

Je voulais dire cadre indépendant, mais vous avez raison. – Sam152

Questions connexes