目前我正在尝试动态填充网站。当我单步执行代码时,它完美无缺。但是,当我按照预期在页面加载上运行它时,它不起作用。相关代码是:
<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();
}
我已经阅读了这个问题足以确定php不是问题。基本上:我在循环中多次使用AJAX运行javascript函数,代码仅在我调试时才有效。谢谢你的帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
就我而言:Use javascript variable outside success function
当调用$ .getJSON等时,附加调试器会修复/改变时间和范围。我正在通过定时背景事件触发的xhr响应更新表格单元格值,我需要在嵌套成功函数中进行单元格更新。附带调试器的东西神奇地起作用。