Hallo,
Ich habe heute angefangen mich sowohl mit Javascript als auch speziell mit AJAX auseinanderzusetzen
Zum experimentieren wollte ich die "Shoutbox als AJAX-Anwendung" von devblog.de umwandeln zu einem kleinen Kontaktbuch.
Die Javascript-Datei des Scripts sieht wie folgt aus:
Der Inhalt der Datenbank wird mittels
aller 5 Sekunden neu geladen. Der Sinn von AJAX ist ja aber unter anderem den Datentransfer einer Website zu vermindern. Wie kann ich es machen das der Inhalt immer erst dann nachgeladen wird, wenn ein neuer Eintrag per saveData() hinzugefügt wurde?
Der Aufruf der Funktionen erfolgt im Original Script wie folgt:
Meinerseits wurde er umgewandelt auf
und dafür das setinterval im Javascript auskommentiert.
Doch nun wird garnix nachgeladen! Hat jemand einen Lösungsvorschlag?
lg Flo
Ich habe heute angefangen mich sowohl mit Javascript als auch speziell mit AJAX auseinanderzusetzen

Zum experimentieren wollte ich die "Shoutbox als AJAX-Anwendung" von devblog.de umwandeln zu einem kleinen Kontaktbuch.
Die Javascript-Datei des Scripts sieht wie folgt aus:
Code:
// Quelle: http://www.devblog.de // "Shoutbox als AJAX-Anwendung" // Code darf frei verwendet werden // globale Instanz von XMLHttpRequest var xmlHttp = false; // XMLHttpRequest-Instanz erstellen // ... für Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttp = false; } } // ... für Mozilla, Opera und Safari if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } // aktuelle Daten laden loadData(); // alle 5 Sekunden neue Daten holen setInterval("loadData()",5000); function loadData() { if (xmlHttp) { xmlHttp.open('GET', 'getdata.php', true); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { document.getElementById("asb_content").innerHTML = xmlHttp.responseText; } }; xmlHttp.send(null); } } function saveData() { if (xmlHttp) { xmlHttp.open('POST', 'setdata.php'); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.send('name='+document.frmshoutbox.txtname.value+'&message='+document.frmshoutbox.txtmessage.value); } // Message-Eingabefelder leeren und Focus setzen document.frmshoutbox.txtmessage.value = ''; document.frmshoutbox.txtmessage.focus(); }
Code:
setInterval("loadData()",5000);
Der Aufruf der Funktionen erfolgt im Original Script wie folgt:
Code:
<form action="" name="frmshoutbox" onsubmit="saveData(); return false;">
Code:
<form action="" name="frmshoutbox" onsubmit="saveData(); setTimeout('loadData()',3000); return false;">
Doch nun wird garnix nachgeladen! Hat jemand einen Lösungsvorschlag?
lg Flo
Kommentar