CSV per JavaScript einlesen

Allgemein, Code, JavaScript Add 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 ;-)

Leave a Reply

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