Generic1: AJAX send/receive

Hallo,

ich habe bis jetzt immer "normal" AJAX für die asynchrone Kommunikation verwendet:

  
request.open('post', url, true);  
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
    request.onreadystatechange = receiveFromServer;  
    request.send('..');  
  
// hier möchte ich dann synchron die empfangenen Daten gleich verarbeiten  

Mit request.onreadystatechange = receiveFromServer; habe ich angegeben welche Methode aufgerufen werden soll, wenn Daten vom Server zurückkommen.
Jetzt möchte ich mir aber Daten vom Server holen, welche ich gleich danach verarbeite, also synchron, daher setze ich bei "open" den dritten Parameterauf false, aber wie bekomm ich die Daten gleich nach der Anfrage an den Server um mit diesen weiterzuarbeiten?

Vielen Dank,
lf

  1. Mit request.onreadystatechange = receiveFromServer; habe ich angegeben welche Methode aufgerufen werden soll, wenn Daten vom Server zurückkommen.
    Jetzt möchte ich mir aber Daten vom Server holen, welche ich gleich danach verarbeite, also synchron, daher setze ich bei "open" den dritten Parameterauf false, aber wie bekomm ich die Daten gleich nach der Anfrage an den Server um mit diesen weiterzuarbeiten?

    dann brauchst du den Eventhandler nicht mehr, da der Browser abwartet bis was passiert (was auch der Nachteil der Methode ist, da, wie du sicher weißt, es immer wieder passieren kann, dass der Server bzw. die Verbindung mal Schwierigkeiten machen kann) .

    Struppi.

    1. dann brauchst du den Eventhandler nicht mehr, da der Browser abwartet bis was passiert (was auch der Nachteil der Methode ist, da, wie du sicher weißt, es immer wieder passieren kann, dass der Server bzw. die Verbindung mal Schwierigkeiten machen kann) .

      Struppi.

      Ja, das ist klar, was ich jetzt nicht weiß, wie ich es machen soll ist, wenn ich folgende Methode habe:

        
      function sendRequestToServer(label, timeMsFrom, timeMsUntil) {  
          if(request == null)  
              createRequest();  
          var url = 'ServerServlet';  
          request.open('post', url, true);  
          request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
          request.onreadystatechange = was schreibe ich da her, damit ich ...  
          request.send('...');  
          }  
        
      ... hier mit den empfangenen Daten weiterarbeiten kann?  
        
      
      
      1. request.onreadystatechange = was schreibe ich da her, damit ich ...

        Sagte ich doch bereits, das brauchst du nicht mehr.

        Struppi.

      2. Hallo Generic1,

        das Ergebnis sollte in request.responseText stehen, Grüsse Armin

        [code lang=javascript]
        function sendRequestToServer(label, timeMsFrom, timeMsUntil) {
            if(request == null)
               createRequest();
               var url = 'ServerServlet';
               request.open('post', url, true);
               request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
               request.send('...');
               return request.responseText;
               }

        /code]