mixmastertobsi: Ajax

Hallo,

ich habe ein Problem, von welchem es bestimmt schon eine Lösung gibt, ich Sie aber leider nicht finden konnte.

Zwei AJAX-Request werden gleichzeitig ausgeführt. Da der erste Request noch nicht beendet ist, wird der zweite erst gar nicht ausgeführt.

Meine Idee war, mit Timeout zu arbeiten. Hat aber leider nicht funktioniert.

Wer hat eine Lösung?

  1. Zwei AJAX-Request werden gleichzeitig ausgeführt. Da der erste Request noch nicht beendet ist, wird der zweite erst gar nicht ausgeführt.

    Benutzt du für beide Request das gleiche Objekt? Das musst du nicht.

    Meine Idee war, mit Timeout zu arbeiten. Hat aber leider nicht funktioniert.

    Nuicht funktioniert, ist natürlich keine Fehlerbeschreibung anhand der man dir helfen könnte, aber wieso überhaupt einen Timeout? Es existiert doch bereits ein Event für dein Problem oder verwendest du nicht den onreadystate Event?

    Struppi.

    1. Ja, ich möchte das gleiche Objekt benutzen.

      Danke!

      1. Ja, ich möchte das gleiche Objekt benutzen.

        Ist das eine Antwort auf meine Fragen?

        Struppi.

        1. Natürlich verwende ich das onreadystatechange

          Es geht aber um was anderes - meine AjaxRequest Funktion wird zeitgleich zweimal aufgerufen. Da das Objekt "ajaxRequest" bereits verwendet wird, wird der zweite Request nicht ausgeführt.

          Es muss doch eine Möglichkeit egben, dass der Request nacheinander abgearbeitet wird.

          1. Hallo mixmastertobsi,

            starte den zweiten Request erst, wenn der erste fertig ist,
            benutze zwei "Requestobjekte"
            oder lass die Requests synchron laufen

            Gruß, Jürgen

            1. Hallo,

              das will ich ja. Aber wie kann ich ein art "timeout" erzeugen.

              Der zweite Request soll ja erst starten, wenn der erste Request fertig ist.

              1. das will ich ja. Aber wie kann ich ein art "timeout" erzeugen.

                Das ist Unsinn, du brasuchst keinen timeout, du hast bereits onreadystate, das ist 100% zuverlässig. Dein Problem sind zwei Request mit einem Objekt, du darfst den zweiten erst erzeugen, wenn der erste fertig ist.

                Der zweite Request soll ja erst starten, wenn der erste Request fertig ist.

                Sag ich doch.

                Struppi.

              2. Hallo mixmastertobsi,

                das will ich ja.

                was willst du?

                Aber wie kann ich ein art "timeout" erzeugen.

                am besten garnicht.

                Der zweite Request soll ja erst starten, wenn der erste Request fertig ist.

                starte ihn über den onreadystatechange-Event oder lass die Requests synchron laufen.

                Warum dürfen denn die Requests nicht gleichzeitig laufen?

                Hier noch etwas zum Lesen:

                https://developer.mozilla.org/en/AJAX/Getting_Started

                Gruß, Jürgen

          2. Es geht aber um was anderes - meine AjaxRequest Funktion wird zeitgleich zweimal aufgerufen. Da das Objekt "ajaxRequest" bereits verwendet wird, wird der zweite Request nicht ausgeführt.

            In dem Fall kannst du natürlich ncht das gleiche AJAX Objekt verwenden und musst ein neues erzeugen.

            Es muss doch eine Möglichkeit egben, dass der Request nacheinander abgearbeitet wird.

            Nicht so wie du es machst.

            Struppi.

            1. wie kann ich denn ein veriables Ajax Objekt erzeugen?

              ["ajaxRequest" + zufallszahl]

              1. wie kann ich denn ein veriables Ajax Objekt erzeugen?

                Was veriables?

                ["ajaxRequest" + zufallszahl]

                Meinst du ein Array?

                var ajaxRequest = [];
                ajaxRequest[0] = new XMLHttpRequest();
                ajaxRequest[1] = new XMLHttpRequest();

                Struppi.

                1. Ich habe keine Ahnung, wie man das mit Javascript macht.

                  Also im Flash sieht es so aus

                  mc["test"+variable]._x = WERT

                  So ähnlich müsste das doch auch bei Javascript aussehen.