【发布时间】:2012-03-20 16:55:37
【问题描述】:
我希望定期调用 ajax 函数。下面是我的代码,目前这没有用。如果我正确放置 window.setTimeout() stmnt,任何人都可以提供帮助..
<script>
var xmlhttp;
function loadXMLDoc(url, cfunc)
{
var config='${config}';
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url+config,true);
xmlhttp.send();
}
window.onload=ajaxFunction1();
function ajaxFunction1()
{
loadXMLDoc("TagDataRetrieval?config=",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv1").innerHTML=xmlhttp.responseText;
}
});
window.setTimeout("ajaxFunction1()", 5000);
}
</script>
【问题讨论】:
-
您的代码看起来打算每 5 秒调用一次
ajaxFunction1()。那是愿望吗?什么没有按预期工作? -
使用
cfunc()调用回调 - 你缺少() -
是的,您的代码有什么问题?此外,您可以直接调用 setTimeout(ajaxFunction1,5000) 否,需要评估一个字符串。
-
@Joseph 我认为您在注册 eventHandler 时不需要 ()。
-
您应该设置不带括号的
window.onload = ajaxFunction1;。不知道这是否与问题有关。
标签: javascript html ajax jsp