bennm: Verzögerung zwischen zwei Ajax-Requests

Beitrag lesen

Hallo,

in einem Beispielprogramm sende ich ein Ajax-Request an einen zweiten PC, auf dem ein Apache-Webserver mit einem PHP-Antwortskript läuft. Zwischen Request und Server-Response vergehen gerade einmal 9 ms. Wenn ich in der onreadystatechanged-Funktion, in der ich die Serverantwort auswerte am Ende erneut einen Request sende, kann ich in Wireshark eine Verzögerung von 250 ms messen, obwohl nur eine Zeile Javascript-Code ausgeführt wird, in der eine Variable um 1 erhöht wird.

Warum tritt diese Verzögerung zwischen den Ajax-Requests auf? (Ich benutze Firefox 3.6 und Firebug 1.6 -> dort kann ich die Zeit von 250 ms auch messen). Mein Ajax-Skript funktioniert an sich auch - nur halt mit Verzögerung.

Hier ist mein Quellcode:

  
var request = null;  
var Test    = 0;  
  
function ajaxinit() {  
  if (window.XMLHttpRequest) {  
    request = new XMLHttpRequest();  
  } else if (window.ActiveXObject) {  
    try {  
      request = new ActiveXObject('Msxml2.XMLHTTP');  
    } catch (e) {  
      try {  
        request = new ActiveXObject('Microsoft.XMLHTTP');  
      } catch (e) {}  
    }  
  }  
  
  if (!request) {  
    return false;  
  }  
  request.onreadystatechange = interpretRequest;  
  SendReq('test');  
  return true;  
}  
  
  
function SendReq(myVar) {  
  if (request) {  
  
    try {  
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
    } catch(e) {}  
  
    var url = 'http://192.168.178.3/AjaxTests/ServerAnswer.php?myVar=' + myVar;  
  
    request.open('get', url, true);  
    request.send(null);  
  }  
}  
  
  
function interpretRequest() {  
  if (request.readyState == 4 && request.status == 200) {  
    Test++;  
    SendReq('test');  
  }  
}