XMLHttpRequest zeitgesteuert mit setTimeout - Druckversion +- PHP Rocks (https://www.php-rocks.de) +-- Forum: HTML, CSS, Usability und Barrierefreiheit (https://www.php-rocks.de/https://www.php-rocks.de/forum/11-html-css-usability-und-barrierefreiheit.html) +--- Forum: JavaScript / JavaScript Frameworks / Ajax (https://www.php-rocks.de/https://www.php-rocks.de/forum/13-javascript-javascript-frameworks-ajax.html) +--- Thema: XMLHttpRequest zeitgesteuert mit setTimeout (/https://www.php-rocks.de/thema/119-xmlhttprequest-zeitgesteuert-mit-settimeout.html) |
XMLHttpRequest zeitgesteuert mit setTimeout - Arne Drews - 23.11.2016 Hi, Ich habe folgenden JS-Code: Code: var oXmlHttp = new XMLHttpRequest(); Muss ich das XmlHtp-Objekt irgendwie jedesmal resetten? abort() habe ich ja schon drin, wirkt aber nicht. Wo denke ich falsch? Danke RE: XMLHttpRequest zeitgesteuert mit setTimeout - tkausl - 23.11.2016 Kein jQuery? Ich habe mit rohen XMLHttpRequests seit Jahren nicht mehr gearbeitet und weiß auch nicht ob sie "wiederverwendbar" sind. Nutze am besten für jeden Request ein eigenes XMLHttpRequest. Achja, und setz den Timeout im finish-handler, sonst wirst du komische Ergebnisse bekommen, wenn es grade Verbindungsprobleme gibt und der Request mehr als 3 Sekunden dauert. Code: window.onload = reload; RE: XMLHttpRequest zeitgesteuert mit setTimeout - Arne Drews - 23.11.2016 Hi, Das ist nur ein kleines Projekt, was nicht viel JS braucht und nur für den Request möchte ich keine Libraries oder Frameworks einbinden müssen. Danke für Dein Beispiel. So ähnlich hatte ich es auch mal, bis auf den setTimeout im Handler drin. Leider ändert das nichts am Verhalten, nach dem Laden der Seite läuft einmal alles sauber durch, aber danach nie wieder. So sieht die Funktion derzeit aus: Code: function reload() { RE: XMLHttpRequest zeitgesteuert mit setTimeout - tkausl - 23.11.2016 Hab es so wie du es da hast, 1 zu 1 (nur URL geändert) in JSFiddle reinkopiert: https://jsfiddle.net/kcv9bxLt/ Bei mir ploppt das alert alle 3 Sekunden auf. RE: XMLHttpRequest zeitgesteuert mit setTimeout - Arne Drews - 23.11.2016 Verdammt... Du hast recht! Dann kann es ja nur Server seitig hängen. Evtl. die .htaccess? Wobei ich mich frage, warum es beim ersten mal funktioniert. Egal, dann muss ich wohl an anderer Stelle suchen. Danke Dir! Gruß Arne RE: XMLHttpRequest zeitgesteuert mit setTimeout - Arne Drews - 23.11.2016 Ich habe eben erst bemerkt, dass die Änderungen des Scripts gar nicht hochgeladen wurden, weil mein FTP-Client das Passwort bestätigt haben wollte. Jetzt funktioniert es, wie es soll. Ich vermute es lag daran, dass ich den Timeout nicht im Handle hatte, denn sonst habe ich es anfangs mal genau so gehabt. Super, danke für deine Mühe! Gruß Arne RE: XMLHttpRequest zeitgesteuert mit setTimeout - tkausl - 23.11.2016 Schau mal ins Netzwerk-Tab. Wobei ich eher glaube, dass die Funktion "reload" wohl irgendwo überschrieben wird oder so, weil auch bei einem Fehler der Request irgendwann Fertig (DONE) ist. So z.B. kann ich den Fehler nämlich reproduzieren: https://jsfiddle.net/kcv9bxLt/1/ RE: XMLHttpRequest zeitgesteuert mit setTimeout - Arne Drews - 23.11.2016 Ja, den Netzwerktab hatte ich grundsätzlich immer beobachtet, dort wurde nichts protokolliert. Keine Fehler, Warnungen, Hinweise... Ein Traum für jeden Entwickler. Da konnte man leider gar nichts erkennen. Überschrieben hätte dort eigentlich auch nichts können, denn mehr als das, was ich i #1 gepostet habe, ist an JavaScript noch gar nicht vorhanden. Aber nun läuft es ja, dank Deiner Hinweise. Gruß Arne |