CitroenDsVier
Lt. Commander
- Registriert
- Dez. 2013
- Beiträge
- 1.896
Hallo zusammen,
ich habe folgenden Codeschnipsel:
Mein Ziel ist es, nach dem Laden der Seite den ersten AJAX-Request durchzuführen, dann 5sek warten, wieder AJAX usw.
Ich weiß, dass setTimeout() den darin enthaltenen Code verzögert. Ohne darin enthaltenen Code will setTimeout aber nichts tun (z.B. while true ( AJAX; setTimeout(5sek) ))...
Wegen des while(true)-loops will die Seite nun aber garnicht zu Ende laden (Firefox meldet "eine Seite verlangsamt Ihren Computer"). Ohne die while(true)-Sache wird natürlich nicht geloopt.
Was kann man da tun?
Nachtrag: Natürlich ist die while(true) Sache keine Lösung, jetzt fällts mir auf. Da werden parallel ja 1000e refresh() Methoden aufgerufen... Gibts da ne Alternative zu while?
ich habe folgenden Codeschnipsel:
Code:
var refresh = function() {
while (true) {
setTimeout(function(){
// send ajax
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
$("#module-box").html(this.responseText);
}
};
xmlhttp.open("GET", "test.php", true);
xmlhttp.send();
}, 5000);
}
}
$(document).ready(refresh);
Mein Ziel ist es, nach dem Laden der Seite den ersten AJAX-Request durchzuführen, dann 5sek warten, wieder AJAX usw.
Ich weiß, dass setTimeout() den darin enthaltenen Code verzögert. Ohne darin enthaltenen Code will setTimeout aber nichts tun (z.B. while true ( AJAX; setTimeout(5sek) ))...
Wegen des while(true)-loops will die Seite nun aber garnicht zu Ende laden (Firefox meldet "eine Seite verlangsamt Ihren Computer"). Ohne die while(true)-Sache wird natürlich nicht geloopt.
Was kann man da tun?
Nachtrag: Natürlich ist die while(true) Sache keine Lösung, jetzt fällts mir auf. Da werden parallel ja 1000e refresh() Methoden aufgerufen... Gibts da ne Alternative zu while?
Zuletzt bearbeitet:
(Nachtrag)