[ajax] Seltsame Fehler

NudelMC

Well-known member
ID: 46722
L
16 Juni 2006
178
5
Hoi, ich hab ein kleines Problem mit AJAX

Ich werte ein onKeyUp event aus, dieser Fehler tritt auf wenn man zu schnell tippt :p

Fehler: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: https://192.168.20.2/cms/wowraid/anmeldung.aspx :: anonymous :: line 53" data: no]
Quelldatei: https://192.168.20.2/cms/wowraid/anmeldung.aspx
Zeile: 53

Fehler: uncaught exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: https://192.168.20.2/cms/wowraid/anmeldung.aspx :: getData :: line 65" data: no]

Kanns mir ehrlich gesagt nicht so wirklich erklären, bin aber auch nochn AJAX b0ne :)

Der code dazu sieht so aus :


PHP:
var XMLHttpRequestObject = false; 
      if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }

      function getData(dataSource, feld) 
      { 
        if(XMLHttpRequestObject) {
          XMLHttpRequestObject.open("GET", dataSource); 

          XMLHttpRequestObject.onreadystatechange = function() 
          { 
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200)
            { 
                    var div = document.getElementById(feld);
                    div.innerHTML =
                    "<div>" + XMLHttpRequestObject.responseText +"</div>";                
             }else{
                    var div = document.getElementById(feld);
                    div.innerHTML =
                    "<div><img src=images/loader.gif><div>";
             }
           } 

          XMLHttpRequestObject.send(null); 
        }
      }

      function validateUsername(keyEvent) 
      {
        keyEvent = (keyEvent) ? keyEvent: window.event;
        input = (keyEvent.target) ? keyEvent.target : 
          keyEvent.srcElement;
          
        if (keyEvent.type == "keyup") {
          var targetDiv = document.getElementById("e1");
          targetDiv.innerHTML = "<div></div>";

          if (input.value.length<2) {
          targetDiv.innerHTML="<img src=images/error.gif>";
          }else if(input.value.length>50){
          targetDiv.innerHTML="<img src=images/error.gif>";
          }else{
          getData("get.aspx?a=validate&f=username&c=" + input.value, "e1");
          }
          
        }
      }

Wäre super wenn jemand ne Idee hat!
Gruß
Nudel
 
ich würde erstmal nen buffer einbauen dass das nicht wirklich bei jedem tastendruck ne anfrage macht. vielleicht ist das problem dadruch schon gelöst...