Derzeit versuche ich eine Website dynamisch zu füllen. Wenn ich durch den Code gehe, funktioniert es perfekt. Wie auch immer, wenn ich es beim Laden der Seite wie geplant starte, funktioniert es nicht. Der entsprechende Code ist:Javascript/AJAX funktioniert nur beim Debuggen
<body onload="populate_all(string)";>
function populate_all(string)
{
var split = string.split(" ");
for(i = 0; i < split.length; i++)
{
populate(split[i], 'main');
}
}
function populate(string, location)
{
if (string.length==0)
{
document.getElementById(location).innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var divTag = document.createElement("div");
divTag.className ="info";
divTag.innerHTML = xmlhttp.responseText;
document.getElementById(location).appendChild(divTag);
}
}
xmlhttp.open("GET","populate.php?string="+string,true);
xmlhttp.send();
}
Ich habe genug zu diesem Thema lesen bis zu sein, ziemlich sicher, dass die PHP ist nicht das Problem. Grundsätzlich: Ich führe eine JavaScript-Funktion mit AJAX mehrmals in einer Schleife und der Code funktioniert nur, wenn ich es debugge. Danke für die Hilfe!
Definieren Sie "es funktioniert nicht". –
Sorry, "es funktioniert nicht" ist nicht wirklich klar. Anstatt die divs zu erstellen, die ich möchte, das sind mehrere divs mit verschiedenen Informationen, erstellt es entweder nur das letzte div oder vier Instanzen des letzten div. – NSchulze