CSV per JavaScript einlesen

Allgemein, Code, JavaScript No Comments »

Geht nicht? Geht doch! Ist eigentlich ganz einfach. Dazu braucht man nur einen WebServer z.B. Apache, einen einigermaßen aktuellen Browser und etwas Phantasie.

Schritt 1 - Wir brauchen XHMLHttpRequest:

/* private */ function /* XMLHttpRequest */ getRequest() {
	var request = null;
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Current Browser has no XMLHttpRequest object!");
	}

	return request;
}

Es lebe der Standard. Da das Web eh so überaus standardisiert ist brauchen wir nur eine Browser-Weiche. Der IE 6 kennt das Objekt nicht, deswegen müssen wir Ihm sagen, das er es doch kann und zwar mit einem ActiveX-Objekt. Der IE 7 soll das XMLHttpRequest Objekt wohl kennen, wurde ja auch Zeit.

Schritt 2 - Wir holen uns die Daten auf dem WebServer:

/* public */ function /* void */ sendDataRequest() {
	var request = getRequest();

	if (null == request) {
		alert("Cancel");
		return;
	}

	request.open("GET", "data/base.csv", true);
	request.onreadystatechange = function() {
		switch (request.readyState) {
			case 4:
				if (request.status != 200) {
					onError();
				} else {
					onSuccess(request.responseText);
				}
				break;

			default:
				return false;
				break;
		}
	};
	request.send(null);
}

Wir bekommen den komplett Inhalt der Datei als String in die Methode onSuccess(text) überliefert. Jetzt können wir allen möglichen Unfug damit anstellen ;-)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Anmelden