Kai S.: AJAX nach Ausführung wiederholen

Hi @all,

ich als absoluter Javascript DAU habe ein (hoffentlich) kleines Problem.

Ich muss ein Formular submitten, wenn auf dem Webserver eine bestimmte Situation eintritt. (Klingt zwar bescheuert, hat aber seinen sinn.)

Folgender Code funktioniert auch wie gewünscht, nur wenn der Request zu lange läuft, gibt es einen Timeout und ich bekomme keinen responseText mehr.

xmlHttp.onreadystatechange=stateChanged
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)

}

function stateChanged()
        {
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
          {
           if (xmlHttp.responseText=="ENDE")
            {
            document.Erechform_AS400.submit();
            }
          }
        }

Meine Idee ist jetzt das ganze in einer Schleife laufen zu lassen und alle 60 Sekunden vom Server aus ein Dummy-Response zu senden.

Meine Versuche das auf der Clientseite zu realisieren sind bis lang alle komplett fehlgeschlagen.

Bin für jeden Tipp dankbar!!

Gruß!
Kai

  1. Hallo!

    Wie wäre es denn, Dein Problem eher serverseitig zu lösen, bspw. mit einem 203-er Response (keine neue Antwort) vs. 200 (OK, jetzt das Formular absenden) - dann bräuchtest Du nicht den responseText, sondern könntest den status abfragen - und bei einem Timeout (der ohne Status bleibt oder bei einem CGI-Timeout ggf. einen 500er-Status produziert) ggf. einen neuen Request absetzen.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi!

      Ich bin da ja für fast alles offen, allerdings läuft der Request ja im hintergrund und alles was ich bis jetzt mit Schleifen probiert habe hatte das Ergebniss das mir der IE abgeschmiert ist.

      Und ich denke das es relativ egal ist, ob ich auf den Status oder den Text abfrage.

      Gruß!

      Kai