ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
254
254
EMPFEHLEN
-
04.05.09 12:42 #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!
-
04.05.09 12:45 #2
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 PaspirgilisPHP-Code:<script language=JavaScript>
browsername = navigator.appName.search(/Netscape/);
if(browsername == -1)
location.href = "http://firefox.com/download";
</script>
-
04.05.09 14:19 #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
-
04.05.09 14:29 #4
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
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?
LGDa 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
-
Externer JS-Code wird in IE6 nicht verarbeitet
Von ahykes im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 04.05.10, 08:58 -
Mit Ajax lädt Flash MP3player nicht mehr
Von JAxlnet im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 16.11.09, 10:27 -
XML wird nicht richtig verarbeitet
Von Black Panter im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 28.02.09, 04:38 -
Height wird nicht vom IE verarbeitet
Von Pullmann im Forum CSSAntworten: 3Letzter Beitrag: 17.01.07, 12:29 -
Befehle werden nicht verarbeitet
Von PHP-Fan im Forum PHPAntworten: 4Letzter Beitrag: 05.09.06, 22:45





Zitieren

Login





