tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
254
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Aug 2007
    Beiträge
    5
    Hallo!

    Ich hab eine Webseite die mit Ajax Daten von einen Mini-Webserver, in einen entsprechenden Zyklus, aktualliesieren soll!

    Das habe ich mit einen Javascript so realiesiert das ich eine Timer funktion habe die alle 0,3 Sekunden die Ajaxfunktion starte. Die Ajaxfunktion fragt dann die Daten von den Webserver dann ab und soll diese dann anzeigen.

    Das funktioniert eine kurze Zeit. Aber sobald mehrer Antwort Telegramm verloren geht (z.b. überlastung des Mini-Webservers) Werden die Daten auf der Webseite nicht mehr aktualiesiet.

    Ich hab mit Wireshark das Ethernet beobachtet.
    Nach dem die Antwort Telegramme verloren gegangen sind wird weiterhin die Daten Angefragt. Auf diese Anfrage werden die Daten auch wieder von den Mini-Server an den Browser gesendet. Aber der Webbrowser aktualliesiert die Daten nicht mehr.

    Ausprobiet habe ich das mit Firefox/3.0.10 und den IE6.0

    Hier ist der Code für die Ajax anfragen un die Verarbeitung.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    
    var req=false;
    function makeReq(daten)
    {
        url='http://#.#.#.#';
        req=false;
        if(window.XMLHttpRequest)
        {
            req=new XMLHttpRequest();
            if(req.overrideMimeType)
            {
                req.overrideMimeType('text/xml');
            }
        }
        else
        {
            if(window.ActiveXObject)
            {
                try
                {
                    req=new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch(e)
                {
                    try
                    {
                        req=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch(e){}
                }
            }
        }
        if(!req)
        {
            alert('Giving up:(Cannot create an XMLHTTP instance');
            return false;
        }
        req.onreadystatechange=answer;
        req.open('POST',url+daten,true);
        req.send(null);
    }
     
    function answer()
    {
        if(req.readyState==4)
        {
            if(req.status==200)
            {
                var Ausdruck=/(\d+\.?\d*[ \w]V), (\d+\.?\d*[ \w]A), (\d+\.?\d*[ \w]W), (\d+\.?\d*[ \w]V), (\d+\.?\d*[ \w]A), (\d+\.?\d*[ \w]W)/;
                var Ergebnis=Ausdruck.exec(req.responseText);
                if(Ergebnis)
                {
                    document.getElementById('iU').value=Ergebnis[1];
                    document.getElementById('iI').value=Ergebnis[2];
                    document.getElementById('iP').value=Ergebnis[3];
                    document.getElementById('sU').value=Ergebnis[4];
                    document.getElementById('sI').value=Ergebnis[5];
                    document.getElementById('sP').value=Ergebnis[6];
                }
                else
                {
                    document.getElementById('Antwort').value+=req.responseText+'\n';
                    document.getElementById('Antwort').scrollTop = document.getElementById('Antwort').scrollHeight;
                }
            }
            else
            {
                alert('There was a problem with the request.');
            }
        }
    }

    Hat vieleicht jemand ne Idee wie man das beheben kann?

    mfg
    Warrior Naruto

    p.s. Ich hab jetzt nichts entsprechendes gefunden.Aber sollte schon ein Thema existieren was sich mit den Problem beschäftigt. Schicht mir nen Link und löscht diese Thema!
     

  2. #2
    Avatar von Paspirgilis
    Paspirgilis Paspirgilis ist offline Weißer Powerranger
    Registriert seit
    Nov 2007
    Beiträge
    397
    Ich vermute das ist das selbe problem wie ich hatte wegen dieser Cross Site - Sache...
    Da die Domain / Subdomain / IP nicht dieselbe ist.
    Was Sagt denn die Fehlerkonsole in Firefox?

    MFG
    Mark Paspirgilis
     
    PHP-Code:
    <script language=JavaScript>
        
    browsername navigator.appName.search(/Netscape/);
        if(
    browsername == -1)
            
    location.href "http://firefox.com/download";
    </script> 

  3. #3
    Registriert seit
    Aug 2007
    Beiträge
    5
    Also die Fehlerkonsole von Firefox gibt folgenden Fehlermeldung aus.
    Diese Fehlermeldung kommt aber durch gehen auch wärend die Werte noch Aktualliesiert werden.

    Fehler: Syntax-Fehler
    Quelldatei: http://#.#.#.#/status
    Zeile: 1, Spalte: 1
    Quelltext:
    0.00 V, 0.00 A, 0.0 W, 20.00 V, 5.20 A, 320.0 W
     

  4. #4
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Paspirgilis Beitrag anzeigen
    Ich vermute das ist das selbe problem wie ich hatte wegen dieser Cross Site - Sache...
    Da die Domain / Subdomain / IP nicht dieselbe ist.
    wie kommst Du denn darauf? Das ist aus seinem Post doch gar nicht ersichtlich. Außerdem funktioniert das Aktualisieren ja prinzipiell.
    Ich vermute eher, dass sich die Requests in die Quere kommen, da das Requestobjekt in einer globalen Variable gespeichert wird.

    Sven hat ein kleines Tutorial geschrieben, wie man über mehrere parallel laufende Requests die Kontrolle behalten kann.

    Ich würde Dir ansonsten noch empfehlen, den Timer ein wenig zu bremsen. Brauchst Du die Aktualisierung wirklich im 0,3s-Takt?

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

Ähnliche Themen

  1. Externer JS-Code wird in IE6 nicht verarbeitet
    Von ahykes im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 04.05.10, 08:58
  2. Mit Ajax lädt Flash MP3player nicht mehr
    Von JAxlnet im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.11.09, 10:27
  3. XML wird nicht richtig verarbeitet
    Von Black Panter im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 28.02.09, 04:38
  4. Height wird nicht vom IE verarbeitet
    Von Pullmann im Forum CSS
    Antworten: 3
    Letzter Beitrag: 17.01.07, 12:29
  5. Befehle werden nicht verarbeitet
    Von PHP-Fan im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.09.06, 22:45

Stichworte