• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fehler mit XMLHTTP request

Status
Für weitere Antworten geschlossen.

supertobs

Mitglied
Hallo, ich versuche nun schon seit mehreren Stunden ein Problem in de Griff zu bekommen, doch leider find eich den Fehler nicht.

Hier mein Problem:
ich habe eine Datei in der Folgendes enhalten ist:
Code:
<script type='text/javascript'>

var request = false;

    // Request senden
    function openPage(file,exit,window) {

        // Request erzeugen
        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest(); // Mozilla, Safari, Opera
        } else if (window.ActiveXObject) {
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
            } catch (e) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
                } catch (e) {}
            }
        }

        // überprüfen, ob Request erzeugt wurde
        if (!request) {
            alert(\"Kann keine XMLHTTP-Instanz erzeugen\");
            return false;
        } else {
        //document.getElementById('inhalt').innerHTML = '<img class=\"ohne\" src=\"bilder/loading.gif\">Öffnen...';

            // Request öffnen
            request.open('post', file , true);
            // Requestheader senden
            request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            // Request senden

            request.send();
            // Request auswerten
            
            request.onreadystatechange = interpretRequest;

        }
    }

    // Request auswerten
    function interpretRequest() {
        switch (request.readyState) {
            // wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
            case 4:
                if (request.status != 200) {
                    document.getElementById(exit).innerHTML = 'There was an Error!<br>Error:'+request.status;
                    $(window).dialog('open');
                } else {
                    var content = request.responseText;
                    // den Inhalt des Requests in das <div> schreiben
                    
                    document.getElementById(exit).innerHTML = content;
                    $(window).dialog('open');
                }
                break;
            default:
                break;
        }
    }
Dieser Code, Sollte eig einen XMLHTTP Request öffnen, und dann den inhalt ausgeben.
nur leider, funktioniert es nicht.
Er kann den XMLHTTP request nicht öffnen.
Kann die daran liegen, dass ich das Script auf XAMPP laufen lasse?

MfG

Tobi
 
Ich habs jetzt mal ohne Parameter probiert.
Jetzt funktionierts.
Naja, dann muss ich halt für jede Datei einen eigenen befehl verwenden.
Dürfte aber auch gehen.

In der Fehlerkonrole steht übrigends nichts.

Danke aber nochmlas

MfG

Tobi
 
ach die Parameter^^ Hab auch ein Problem mit den Parameter, genau wie bei dir, ohne Funktioniert es, ich will aber nicht 10 Funktionen anlegen, sondern eine Parameter, aber mit funktioniert es iwie nicht, naja...

Falls dich interessiert, hier der Link: Klick Mich
 
Auf Google steht, dass esm mit Parametern scheinbar probleme mit Parametern giebt.
Bei mir funktionierts jetzt auch einwand frei

MfG

Tobi
 
ich habe die Lösung für dein Problem. Du darfst nicht die Parameter wieder an PArameter übergeben. Ich hatte das selbe Problem, hab es so gelöst, das ich die Parameter in einer globalen Variable gespeichert habe.

Hier wäre dann dein überarbeiteter Code:

Code:
<script type='text/javascript'>

var request = false; 
var file = 0;                                // Global
var exit = 0;                                //  ""
var window = 0;                              //  ""

    // Request senden
    function openPage(_file, _exit, _window) {           // Hab die Parameter geändert, damit die Variable nicht genauso heißt wie der Paramter und du nicht den ganzen Code ändern musst
        file = _file;
        exit = _exit;
        window = _window;

        // Request erzeugen
        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest(); // Mozilla, Safari, Opera
        } else if (window.ActiveXObject) {
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
            } catch (e) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
                } catch (e) {}
            }
        }

        // überprüfen, ob Request erzeugt wurde
        if (!request) {
            alert(\"Kann keine XMLHTTP-Instanz erzeugen\");
            return false;
        } else {
        //document.getElementById('inhalt').innerHTML = '<img class=\"ohne\" src=\"bilder/loading.gif\">Öffnen...';

            // Request öffnen
            request.open('post', file , true);
            // Requestheader senden
            request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            // Request senden

            request.send();
            // Request auswerten
            
            request.onreadystatechange = interpretRequest;

        }
    }

    // Request auswerten
    function interpretRequest() {
        switch (request.readyState) {
            // wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
            case 4:
                if (request.status != 200) {
                    document.getElementById(exit).innerHTML = 'There was an Error!<br>Error:'+request.status;
                    $(window).dialog('open');
                } else {
                    var content = request.responseText;
                    // den Inhalt des Requests in das <div> schreiben
                    
                    document.getElementById(exit).innerHTML = content;
                    $(window).dialog('open');
                }
                break;
            default:
                break;
        }
    }
</script>

Hoffe, dass ich dir helfen konnte. Müste so funktionieren. Hat bei mir auch :D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben