zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden AJAX-Request alle 5 Min. anstoßen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 20.01.2009, 15:49
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 06.06.2008
Beiträge: 20
Abandon5491 befindet sich auf einem aufstrebenden Ast
Standard AJAX-Request alle 5 Min. anstoßen

Huhu,

ich bin auf der Suche nach einer Lösung, wie man einen AJAX-Request alle 5 Min. ausführen kann. Hab auch schon gegockelt, aber nichts passendes gefunden.

Ich habe eine uebersicht.php und rufe dort mit der Funktion startRequest('status1.php') den Inhalt ab. Dies soll aber nach dem 1. Mal (laden der Seite) alle 5 Min. von sich aus geschehen.

Kann mir bitte wer helfen?
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 20.01.2009, 16:31
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Das muß clientseitig angeschubst werden.

Geht mit JavaScript, einen Timer setzen, der alle 50 m eine Abfrage startet.

Code:
<script type='text/javascript'>
function ReLoadPage(){
  window.location.reload();
}
window.setTimeout( "ReLoadPage()", 30000);
</script>
Statt window.location.reload(); halt den entsprechenden Ajax-Call einbasteln.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 20.01.2009, 17:40
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 06.06.2008
Beiträge: 20
Abandon5491 befindet sich auf einem aufstrebenden Ast
Standard

Hat auf anhieb geklappt, vielen Dank!

Eine Frage habe ich aber noch:

Meine startRequest-Funktion sieht so aus:
PHP-Code:
var http_request false;
 
    function 
startRequest(urlstatusid)
    {
        
url += '?statusid=' statusid;
        
        
http_request false;
 
        if (
window.XMLHttpRequest)
        {
            
http_request = new XMLHttpRequest();
        }
        else if (
window.ActiveXObject)
        {
            try
            {
                
http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (
e)
            {
                try
                {
                    
http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (
e) {}
            }
        }
 
        if (!
http_request)
        {
            
alert('Erzeugen der XMLHTTP-Instanz fehlgeschlagen.');
            return 
false;
        }
        
http_request.open('GET'urltrue);
        
http_request.onreadystatechange manageRequest;
        
http_request.send(null);
    } 
Das ist meine manageRequest-Funktion:
PHP-Code:
function manageRequest()
    {
        if (
http_request.readyState == 4)
        {
            var 
answer http_request.responseText;
            if (
document.getElementById("status1-result").innerHTML != answer)
            {
                
document.getElementById("status1-result").innerHTML answer;
            }
            else
            {
                
document.getElementById("status1-result").innerHTML "";
            }
        }
    } 
Ich würde der manageRequest-Funktion gerne den "statusid"-Wert aus der startRequest-Funktion übergeben, sodass ich den Rückgabewert in den passenden DIV-Container des Status einbinden kann.
Mit Zitat antworten
  #4 (permalink)  
Alt 20.01.2009, 17:45
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Vielleicht als globele Variable speichern und abhängig davon den div wählen ?
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #5 (permalink)  
Alt 21.01.2009, 17:35
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 06.06.2008
Beiträge: 20
Abandon5491 befindet sich auf einem aufstrebenden Ast
Standard

Stimmt, darauf in ich an dem Tag nicht gekommen.^^

Hab noch eine Frage: Kann man mehrere Requests zur gleichen Zeit laufen lassen? Bei mir überschreibt er irgendwie den 1. Request mit dem 2. und zeigt dann an beiden Ausgabe-Stellen den 2. Request an.
Mit Zitat antworten
  #6 (permalink)  
Alt 21.01.2009, 17:56
Benutzerbild von In4matiker
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 19.12.2005
Ort: Winterthur (Schweiz)
Beiträge: 158
In4matiker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Hab noch eine Frage: Kann man mehrere Requests zur gleichen Zeit laufen lassen? Bei mir überschreibt er irgendwie den 1. Request mit dem 2. und zeigt dann an beiden Ausgabe-Stellen den 2. Request an.
ja kann man - Du musst einfach das Objekt das den Request machen neu instanzieren und nicht das Bestehende verwenden.

Code:
 
if (window.XMLHttpRequest) 
{ 
var http_request = new XMLHttpRequest();
}
__________________

Mit Zitat antworten
  #7 (permalink)  
Alt 21.01.2009, 18:30
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 06.06.2008
Beiträge: 20
Abandon5491 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von In4matiker Beitrag anzeigen
ja kann man - Du musst einfach das Objekt das den Request machen neu instanzieren und nicht das Bestehende verwenden.

Code:
 
if (window.XMLHttpRequest) 
{ 
var http_request = new XMLHttpRequest();
}
Wenn ich das mache, zeigt er mir nur den 1. Request an und nicht den 2.:
HTML-Code:
<script type="text/javascript" language="javascript">
	var http_request = false;
    function startInfoRequest(url, id)
	{
		url += "?id=" + id;
		
        http_request = false;
 
        if (window.XMLHttpRequest)
		{
            var http_request = new XMLHttpRequest();
        }
		else if (window.ActiveXObject)
		{
            try
			{
                var http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
			catch (e)
			{
                try
				{
                    var http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }
				catch (e) {}
            }
        }
 
        if (!http_request)
		{
            alert('Erzeugen der XMLHTTP-Instanz fehlgeschlagen.');
            return false;
        }
        http_request.open('GET', url, true);
        http_request.onreadystatechange = manageInfoRequest;
        http_request.send(null);
    }
 
    function manageInfoRequest()
	{
        if (http_request.readyState == 4)
		{
            var answer = http_request.responseText;
            if (document.getElementById("data").innerHTML != answer)
			{
				document.getElementById("data").innerHTML = answer;
            }
            else
			{
				document.getElementById("data").innerHTML = "";
            }
        }
    }
</script>
#Edit: Und komischerweise zeigt er manchmal den ersten Request in beiden Ergebnisbehältern. oO

Geändert von Abandon5491 (21.01.2009 um 18:37 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 22.01.2009, 11:10
Benutzerbild von In4matiker
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 19.12.2005
Ort: Winterthur (Schweiz)
Beiträge: 158
In4matiker befindet sich auf einem aufstrebenden Ast
Standard

Du definierst noch
Code:
var http_request = false;
noch ausserhalb der Funktion - das ist sicher nicht nötig. Mach auch mal das
Code:
http_request = false;
weg.
__________________

Mit Zitat antworten
  #9 (permalink)  
Alt 23.01.2009, 11:01
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 06.06.2008
Beiträge: 20
Abandon5491 befindet sich auf einem aufstrebenden Ast
Standard

Es hat sich nichts geändert. :/

Selbst wenn ich überall in dem 2. Request eine 2 hinter die Objekte mache, funktionierts nicht. Sondern er lädt das selbe wie in dem 1. Request in die Box für den 2. Request!

Geändert von Abandon5491 (23.01.2009 um 11:15 Uhr)
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ConfirmBox mit Ajax Benutzername Javascript & Ajax 0 05.08.2010 14:16
Peinlicher Versuch für Ajax Request's. nick Javascript & Ajax 5 11.06.2007 22:53
Ajax ReadyState 3 kevink Javascript & Ajax 2 30.04.2007 17:19
Ajax Request Handler insanic! Javascript & Ajax 9 18.08.2006 11:42
Buchrezension: AJAX - Frische Ansätze für das Webdesign Flocke Ressourcen 2 01.11.2005 23:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:28 Uhr.