lima-city: Webhosting, Domains und Cloud
4 Pluspunkte 0 Minuspunkte
Wie kann ich HTML Inhalte dynamisch anzeigen ohne die ganze Seite neu laden zu müssen? Z.B bei einer Kommentarfunktion wie auf Instagram. Wenn jemand einen Kommentar schreibt wird der ja angezeigt ohne das ich refresh klicken muss. Kann ich das mit Javascript oder Ajax?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Ja, du kannst HTML dynamisch aktualisieren, ohne die ganze Seite neu laden zu müssen, indem du AJAX (Asynchronous JavaScript and XML) verwendest. AJAX ermöglicht es, Daten asynchron zwischen dem Browser und dem Server auszutauschen, ohne die Seite komplett neu laden zu müssen. Du brauchst einen Container, in dem die Kommentare angezeigt werden.

<div id="comments-container">
    <!-- Hier werden die Kommentare angezeigt -->
</div>

Mit Javascript schreibst du eine Funktion welche die Kommentare abruft und dynamisch in das Div einfügt. In diesem Beispiel wird die Datei comments.php aufgerufen welche den Inhalt der Kommentare in HTML ausgibt.

function loadComments() {

    var commentsContainer = document.getElementById('comments-container');

    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'comments.php', true);  
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {

            commentsContainer.innerHTML = xhr.responseText;

        }
    };
    
    xhr.send();
}

Die Datei comments.php könnte so ähnlich aussehen.

// comments.php
$comments = array(
    "Benutzer1" => "Tolles Bild!",
    "Benutzer2" => "Schöne Aufnahme!"
    // ... Weitere Kommentare hier
);

foreach ($comments as $user => $comment) {
    echo "<div><strong>$user:</strong> $comment</div>";
}

Dann fügst du noch einen Aufruf von loadComments ein oder rufst es in regelmäßigen Abständen auf.

// Lade Kommentare beim Seitenstart
loadComments();

// Optional: Aktualisiere Kommentare in bestimmten Intervallen
setInterval(function() {
    loadComments();
}, 5000); // Zum Beispiel alle 5 Sekunden aktualisieren
von (481 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer