Wie kann ich eine Datenbank gefahrene Liste / feed machen, die mit jQuery Ajax aktualisiert werden kann?

StackOverflow https://stackoverflow.com/questions/1910862

  •  19-09-2019
  •  | 
  •  

Frage

Ich wollte wissen, was der beste Weg, um über das Erstellen einer Liste von sagen wir zu gehen, Nutzer des Status (ähnlich wie Facebook / Twitter hat), die mit PHP beim Laden der Seite geladen wird. Aber Ajax prüft, ob neuen Status aktualisiert alle 10 Sekunden oder so.

Es sieht aus wie mir, dass es etwa 2 Möglichkeiten: Setzen Sie die „neue Elemente“ html in der PHP-Datei, die von Ajax aufgerufen wird, und fügen Sie sie an das Element den Status-Feed enthält. (Dies besiegt auch den Zweck, JSON)

oder

Verwendung so etwas wie jTemplates. aber soweit ich diese Option nicht sehen kann, wäre ideal, weil, wenn die Seite geladen wird es eine Ajax-Post zu tun hat / Anfrage erhalten.

Wie alle anderen ihnen tun? Ich will Dinge die beste, ‚pro‘ Art und Weise tun!

War es hilfreich?

Lösung

ich so etwas wie diese verwenden würde:

$(function() {
    var updateStatus = function() {
        var options = {
            url: "some/address/that/returns/JSON",
            dataType: "json",
            success: function(data, textStatus) {
                // use JSON to update you're markup...
                setTimeout(updateStatus, 10);
            }
        };
        $.ajax(options);
    };
    setTimeout(updateStatus, 10);
});

Andere Tipps

Es scheint, als ob Sie eine Verantwortung Grenze sind überqueren. Haben Sie PHP wollen für das Rendern der HTML verantwortlich sein? Oder möchten Sie Javascript / json verantwortlich sein?

Da Sie die Liste dynamisch zu aktualisieren, würde ich eine Javascript-Bibliothek verwenden, wie jQuery die Ajax-Anforderung erfüllen und die json Antwort, und fügen Sie dann neue Objekte in die Liste zu handhaben. Es gibt Anleitungen für diese alle über das Internet.

Dies wird auch helfen, Ihre geistige Gesundheit in Schach zu halten, weil, wenn Sie debuggen haben (und Sie werden zu debuggen haben), können Sie nur auf einen Satz von Code zur Arbeit benötigen ein Paradigma: JavaScript / json Ansatz, anstatt Schalter geistig zwischen der PHP / HTML und Javascript / json Seite.

Just my $ 0,02

Verwenden Sie APE die Ajax-Push-Maschine, ist es geschrieben speziell für diesen Job. Kasse diese Twitter Demo in Aktion zu sehen.

Ill sagen Sie den Inhalt in ein DIV auf Seite Last geladen werden können.

Es spielt keine Rolle, ob Sie PHP oder JavaScript bevölkern mit dieser Last auf Seite zu tun.

Dann irgendeine Art von Javascript Schlaf-Skript, automatisch, lädt jede XX Anzahl der Sekunden die DIV html über jQuery mit dem Inhalt einer PHP-Seite, die Informationen über Anwenderstatus packt. Setzen Sie die Funktion, den Anwenderstatus auf einer Endlos-Schleife mit der Sleep-Funktion Pausieren zu laden, bevor der Updates.

http://www.geekpedia.com/KB55_How-do-I-make-a-JavaScript-function-wait-before-executing-%28sleep-or-delay%29.html

Ich vermute, der jquery Pseudo-Code gehen würde.

$.get("user_statuses.php", function(data){
  $("div").html(data); // replace the data in the div with user_statuses.php
  sleep(15 seconds); // sleep until next 
});

Machen Sie es einen rekursiven Aufruf vermute ich. Weiß nicht, ob das Javascript wird Mist schließlich aber das ist eine Idee.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top