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

Text aus Textdatei wird nicht angezeigt

Status
Für weitere Antworten geschlossen.

gollum1990

Neues Mitglied
Hallo Forum,

ich wollte mithilfe von Ajax einer Textdatei den Inhalt auslesen und ausgeben.

Problem: Es wird null kommer gar nichts angezeigt. Ich habe 3 Dateien:
ajax.js
HTML:
function ajax() {

        this.url = "";
        this.methode = "";
        this.parameter = "";
        this.resp = "";
        this.onError = function(nachricht) {
                       alert(nachricht);
        };
}

ajax.prototype.starte = function() {

      if(!this.url) {
         this.onError("Es wurde keine URL angeben.");
      }
      if(!this.methode) {
         this.onError("Es wurde keine Methode angeben.");
      }
      if(this.methode == "POST" && !this.parameter) {
         this.onError("Es wurden kein Parameter angeben.");
      }
      var _this = this;
      var request = req();
      if(!request) {
         this.onError("Es wurde konnte kein XML-HTTP-Request erstellt werden.");
      }
      switch(this.methode) {
             case "GET":
             request.open(this.methode, this.url, true);
             request.onreadystatechange = statehandle;
             request.send(null);
             break;
             
             case "POST":
             request.open(this.methode, this.url, true);
             request.onreadystatechange = statehandle;
             request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
             request.send(this.parameter);
             break;
       }
       
       function statehandle() {
          
                if(request.readyState < 4) {
                   return false;
                }
                if(request.status == 200 || request.status == 304) {
                   if(_this.resp) {
                      _this.resp == request.responseText;
                   }
                } else {
                   if(_this.onError) {
                      _this.onError("(" + request.status + " - " + request.statusText + ") Es ist ein Fehler bei der Übertragung aufgetreten.");
                   }
                }
        }
};
        
        function req() {
              
                 if(window.XMLHttpRequest) {
                    return new XMLHttpRequest();
                 } else if(window.ActiveXObject) {
                    try {
                         return new ActiveXObject("Msxml2.XMLHTTP");
                    } catch(e) {
                         try {
                              return new ActiveXObject("Microsoft.XMLHTTP");
                         } catch(e) {
                              return null;
                         }
                    }
                  }
                  return false;
         }

test.txt
HTML:
Das ist ein Text

test.html
HTML:
<html>
<head>
<title>Kleiner Ajax Script Test</title>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">

ajax = new Ajax();

ajax.url = "test.txt";
ajax.methode = "GET";

ajax.starte();

window.document.all.testfeld.value = ajax.resp;

</script>
</head>
<body>
<p name="testfeld"></p>
</body>
</html>
 
Hallo,

vielleicht schreibst Du zuerst dazu, aus welchem Tutorial Du Dir diese Dateien zusammengestellt hast. Hintergrund: Es fehlt mindestens die Prototyp-Klasse für Ajax, die Du mit der ajax.js präzisieren willst. Das, was vorliegt, ist definitiv nichtfunktionierend.

Gruß,
Jumper, the II.
 
Huhu, ich war mal so frei, und habe das ein wenig umgebaut.
Hatte noch ein Beispiel auf meiner Platte liegen womit es nun funktioniert:
Code:
<html>
<head>
<script>

var http_request = false;
function setStatus() {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // zu dieser Zeile siehe weiter unten
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
    http_request.onreadystatechange = alertInhalt;
    http_request.open('GET', 'test.txt', true);
    http_request.send();
}
function alertInhalt() {
  if (http_request.readyState == 4) {
    var answer = http_request.responseText;
    document.getElementById("testfeld").innerHTML = answer;
  }
}
</script>

<title></title>

</head>
<body onload="setStatus()">
<p id="testfeld"></p>
</body>
</html>

Vielleicht nicht ganz der Weg den du wolltest, aber es könnte helfen
Gruß prostel
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben