Home
Navigation
Impressum
SEO Welten - Webcoding, Editoren, Scripte und Anwendungen
SEO Welten
Buchempfehlungen
 

Content von Textdateien mit Ajax verarbeiten

Asynchrone Übertragung per HTTP und Verarbeitung mit JavaScript

Übersicht / Seite:

  1. Dateien mit PHP einbinden (Dateien includen oder requirieren)
  2. Weitere Möglichkeiten mit PHP (Dateien mit Schleifen einlesen)
  3. Dateien mit HTML einbinden (mit iFrame oder Object)
  4. Textdateien mit JavaScript einfügen (Beispiele und Lösungsansätze)
  5. Content mit Ajax verarbeiten (eine kleine Einführung)

    5.1 Verarbeitung von XML-Dateien (Attribute einlesen und ausgeben)
    5.2 Mehrere Requests ausführen (Requests hintereinander abarbeiten)
    5.3 Parallel Requests ausführen (Anfragen gleichzeitig senden)


Ajax, Content von Textdateien verarbeiten

Nachfolgend eine kleine Einführung, wie sich mit Hilfe von Ajax der Content von Textdateien leicht "einbinden" und verarbeiten lässt, wobei einbinden eigentlich nicht das richtige Wort ist. Im Gegensatz zu den bisherigen Beispielen (mit Ausnahme der Schleifen), wird mit Hilfe von Ajax keine Datei eingebunden, sondern es werden Daten vom Server angefordert und im Dokument verarbeitet und ausgegeben.

Obwohl der Begriff Ajax sich eigentlich auf die asynchrone Übertragung und Verarbeitung von XML-Daten mit JavaScript bezieht (Asynchronous JavaScript and XML), so ist Ajax dennoch nicht nur für die Übertragung von XML-Daten geeignet. Reine Textdaten lassen sich ebenso problemlos übertragen. Je nach dem, ob die Rückgabe als Textdaten oder als XML-Daten erfolgen soll, muss die Eigenschaft von Response vorgewählt werden. Zur Auswahl stehen responseText und responseXML. Da es sich bei der kleinen testObj (datei.txt) von Seite 1 um eine reine Textdatei handelt, kommt für das folgende Beispiel responseText in Frage.

Vom Prinzip her wird mit new XMLHttpRequest() ein neues Request-Objekt erstellt und mit der open() Methode eine Verbindung zum Webserver geöffnet. Hier müssen zwei Parameter angegeben werden, je nach Bedarf gefolgt von weiteren optionalen Parametern. Zu den Pflichtangaben gehören die Methode, mit der die Daten übertragen werden sollen, in der Regel wird es GET oder POST sein. Im Beispiel wurde GET gewählt. Der zweite Pflichtparameter enthält den Namen der zu öffnenden Datei. Als dritter Parameter kann true oder false angegeben werden, je nachdem ob der Datenverkehr synchron (false) oder asynchron (true) verarbeitet werden soll. Entfällt die Angabe des Parameters, so erfolgt die Verarbeitung asynchron. Die asynchrone Übertragung wird im Allgemeinen bevorzugt.

Mit der Methode send() wird eine Anfrage gesendet und der Eventhandler onreadystatechange reagiert auf den Status von Verbindungen. Weiterhin ist readyState erwähnenswert, da in readyState ein Wert des Verbindungsstatus enthalten ist. Der Verbindungsstatus 4 bedeutet, dass die Übertragung komplett erledigt ist. Mit der Methode getElementById() werden dann die Daten an der entsprechenden Stelle ins Dokument geschrieben.

Kleines Ajax-Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<title>Nur ein Test</title>
<script type="text/javascript">

var testObj = null;
    testObj = new XMLHttpRequest();

function eineFunktion() {

    if (testObj.readyState == 4) {

        document.getElementById("meineDaten").innerHTML += testObj.responseText;
    }
}

window.onload = function() {

    testObj.open("GET", "datei.txt");
    testObj.onreadystatechange = eineFunktion;
    testObj.send(null);
}
</script>
</head>

<body>
<div align="center">
<h1>Nur ein Test</h1>

<p id="meineDaten"><b>Ausgabe:</b> </p>

</div>
</body>
</html>

 
Browserweiche

Wenn Sie das obige Listing nicht nur zu Testzwecken verwenden, sondern das Listing für ein Script in der Praxis nutzen möchten, sollten Sie eine Browserweiche verwenden, um auch ältere Versionen des Internet Explorers anzusprechen. Browserweichen gibt es in den unterschiedlichsten Varianten, wobei die untere Variante reichen sollte, um Browser wie den Opera, den Firefox, den Safari und den IE in den Versionen 6 bis 8 anzusprechen.

Der Grund für eine Browserweiche ist recht simpel. Während zum Beispiel der Firefox XMLHttpRequest als Objekt bereits ab der Version 1.2 kennt, nannte es sich beim IE 5 bis 6 noch ActiveXObject. Erst ab der Version IE 7 kennt auch der Internet Explorer das XMLHttpRequest Browserobjekt.

Um eine Browserweiche zu realisieren, sind die beiden nachfolgenden Codezeilen gegen das untere Listing auszutauschen.

var testObj = null;
    testObj = new XMLHttpRequest(); 

Browserweiche für einen Ajax-Request:

var testObj = null;

if (window.XMLHttpRequest) {
  
    testObj = new XMLHttpRequest();
} 
else if (window.ActiveXObject) {try {

    testObj = new ActiveXObject("Msxml2.XMLHTTP");
    }catch (ex) {try {
  
        testObj = new ActiveXObject("Microsoft.XMLHTTP");
        }catch (ex) {
        }
    }
}

 

Mehr zum Thema Einlesen und Ausgeben von Daten und Dateien mittels PHP, HTML oder mit Hilfe von JavaScript auf den vorausgehenden Seiten.

weiterlesen: 1, 2, 3, 4 « / » 5.1

 
Navigation

Finden und
gefunden werden ...


- Optimierung -

 

Webcoding

Übersicht


Web Services


Tutorials &
diverse Listings

und vieles mehr...

 

Weitere Themen

Übersicht


Copyright © 2006 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen