Jede Sekunde Inhalt aktuallisieren (Nachrichten (0))

Hallo,

seit Jahren baue ich immer irgendwelche Internetseiten auf, aber leider ohne AJAX. Jetzt will ich mich mal mit Ajax beschäftigen, denn auf der türkischen Dorfseite meines Onkels, hat man die Möglichkeit sich zu Registrieren.

Alles klappt wunderbar, doch jetzt will ich bisschen mit AJAX arbeiten. Ich habe auf der Seite ajax.php?pn eine Abfrage, wie viele ungelesene Nachrichter der Benutzer hat. Sagen wir mal da kommt „1“ raus.

Jetzt will ich, dass Nachrichten (0) immer jede Sekunde automatisch aktuallisiert wird. Zumindest die 0.

Hab nach Tutorials geschaut, doch nichts genaues gefunden, bis auf „setInterval“. Damit kam ich aber leider auch nicht weiter.

Kann einer mir helfen?

Wie kann ich irgendwie im Frontend einbauen, dass er in die bestimmte Stelle, sagen wir mal Nachrichten (

0
) jede Sekunde aktuallisiert. Er soll jede Sekunde, ajax.php?pn aktuallisieren.

Ich weiß garnicht wie ich das formulieren soll, da ich keine Ahnung von Ajax habe. Ich hoffe Ihr versteht was ich meine.

Mfg Yusuf

Du suchst nach window.setTimeout().

Du hast die Antwort auf deine Frage schon gegeben Yusuf. setInterval()ist die Lösung. Doch pro Besucher jede Sekunde einen HTTP-Request machen ist ziemlich schlecht.
Ich nehme an, du hast das hier:
[html]

Nachrichten ()

[/html]
In JavaScript:
[php]
var ajax__ = function() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
try {
return new ActiveXObject(„Msxml2.XMLHTTP“);
} catch (e) {
try {
return new ActiveXObject(„Microsoft.XMLHTTP“);
} catch (e) {}
}
return false;
}

};
var ajax = ajax__();
var interval = setInterval(function(){
if (ajax.readyState === 0 || ajax.readyState === 4) {
ajax.open(„GET“,„ajax.php?pn“,true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
document.getElementById(„msg_c“).innerHTML = ajax.responseText;
}
};
ajax.send(null);
}
},1000);
[/php]

Danke, das klappt jetzt wunderbar. Warum ist dass den schlecht, jede Sekunde einen HTTP-Request zu machen?

Hi,

Mit den requests in sehr kurzen Abständen verursachst du, auch wenn es nur kleinere Anfragen sind, eine gewisse Grundlast (CPU). Das könnte bei entspr. Anzahl paralleler User den Webserver „in die Knie“ zwingen.

Hallo,

dass war mir garnicht bewusst. Was würdet ihr den empfehlen? Und das ganze funktioniert zwar, aber wenn ich die Seite wechsel, dann verschwindet, bevor die neue Seite geladen wird, die 0 bei Nachrichten (0) und die restlichen Ajax-Abfragen.

Ist das normal?

Also ich check meine Mails per IMAP alle 2 min, wieso sollte man Nachrichten bei einer Website öfter checken?