TypeError beim Nachladen ...

iBirne

Mitglied
Ich hab mir ein kleines Script gebastelt, welches mir Text aus einer DB mithilfe von PHP und Javascript ausliest und anzeigt.

Nur kommt sobald ich Text nachlade ein TypeError: 'undefined' is not an object (evaluating 'data[i]') in der Konsole :( ... Ich hab schon danach gegooglet aber leider nichts gefunden.

Hier mein bisheriges Script ...
Code:
var count = 1;


function laden() {
	document.getElementById("loader").style.display = "block";
	
	http_request = new XMLHttpRequest();
      
	if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
	}
        http_request.open('GET', 'get-more-data.php?count=' + count, true);
        http_request.onreadystatechange = moreData;
        http_request.send(null);
}


function moreData() {
	if (http_request.readyState == 4) {
		var answer = http_request.responseText;
		
		document.getElementById("loader").style.display = "none";
		
		++count;
		
		var data = answer.split("|");
	}
	
	
	for (var i = 0; i <= 4; i++) {
		var element = document.createElement("div");
		element.setAttribute("class", "content");
		var text = document.createTextNode("#" + data[i] + " | " + i + " | " + count);
		element.appendChild(text);
		var section = document.getElementById("section");
		section.appendChild(element);
	}
}
 
Zuletzt bearbeitet:
Hi,

wahrscheinlich hat das Array data nicht 5 Elemente.
Bei den erzeugten Text-Nodes wird doch auch immer i ausgegeben, wie weit funktioniert das denn?
In Firebug kannst du dir die Variablen anschauen:
Giebt es data überhaupt?
Was steht da drinnen?
 
Es kam immer in der Konsole die Meldung die Variable "data" wäre nicht definiert. Lag aber wohl daran das die for-Schleife nicht mit in der If-Anweisung stand. Hab das ganze jetzt geändert und es funktioniert einwndfrei :)

Code:
var count = 1;


function laden() {
	document.getElementById("loader").style.display = "block";
	
	http_request = new XMLHttpRequest();
      
	if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
	}
        http_request.open('GET', 'get-more-data.php?count=' + count, true);
        http_request.onreadystatechange = moreData;
        http_request.send(null);
}


function moreData() {
	if (http_request.readyState == 4) {
		var answer = http_request.responseText;
		
		document.getElementById("loader").style.display = "none";
		
		++count;
		
		var data = answer.split("|");
		
		
		for (var i = 0; i <= 4; i++) {
			var element = document.createElement("div");
			element.setAttribute("class", "content");
			var text = document.createTextNode("#" + data[i] + " | " + i + " | " + count);
			element.appendChild(text);
			var section = document.getElementById("section");
			section.appendChild(element);
		}
	}
}
 

Neue Beiträge

Zurück