XMLHttp Request liefert immer readyState 1



  • Hallo,

    wie schon in der Überschrift angedeutet hab ich Problem mit meinen XMLHttpRequest.
    Ich bekomme immer nur 1(loading) als readyState zurück. Folgenden Code hab ich gschrieben.

    <html>
    <head>
       <title>HttpRequest</title>
       <script type="text/javascript" src="javascript.js"></script>
    </head>
    <body>
       <a href="#" id="link">Starte HttpRequest</a>
       <div id="ergebnis"></div>
    </body>
    </html>
    
    function $(id) {
        return document.getElementById(id);
    }
    
    window.onload = function() {
        $('link').onclick = function() {
           getHttpRequest();
           return false;
        }
    }
    
    function getHttpRequest() {
    
        var xmlhttp = null;
        // Mozilla
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        }
        // IE
        else if (window.ActiveXObject) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    
        xmlhttp.open("GET", "http://de.wikipedia.org/wiki/XMLHttpRequest", true);
        xmlhttp.onreadystatechange = function() {
            if(xmlhttp.readyState != 4) {
                $('ergebnis').innerHTML = 'Seite wird geladen ...';
            }
            if(xmlhttp.readyState == 4){
    			if( xmlhttp.status == 200) {			
    				$('ergebnis').innerHTML = xmlhttp.responseText;            
    			}
    		}
        }
        xmlhttp.send(null);
    }
    

    Hoffe es findet jemand den Fehler, bzw. jemand kann mir weiter helfen!

    mfg gal



  • was machen denn die $? ist das jquery? die haben doch eine ajax-klasse 😕



  • '$' ist nur der Funktionsname!



  • gal schrieb:

    '$' ist nur der Funktionsname!

    mein js ist bischen eingerostet, sry 😞


  • Mod

    jQuery bietet eine Crossbrowser kompatible AJAX implementierung, nutze einfach die. jQuery ist als die Standardlibrary fuer JavaScript zu betrachten.

    Dein Problem ist aber viel simpler: du laeufst in CORS Problem. Du darfst keine XHR requests auf andere Domains machen.

    Hier gibt es nun einige Ansaetze, aber das Stichworte ist:
    Cross Origin (Policy/Resource Sharing)

    Wenn du dich in die Thematik kurz eingelesen hast und noch fragen hast, nur zu 🙂


Anmelden zum Antworten