正确放置window.setTimeout()

时间:2012-03-02 06:31:58

标签: javascript html ajax jsp

我希望定期调用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>

2 个答案:

答案 0 :(得分:1)

<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();
        }

function ajaxFunction1()
{
    loadXMLDoc("TagDataRetrieval?config=",function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("myDiv1").innerHTML=xmlhttp.responseText;    
        }
    });
   setTimeout("ajaxFunction1()", 5000);
}
window.onload=ajaxFunction1();
</script>

答案 1 :(得分:0)

您可以使用以下功能代替setTimeout

<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();
        }

function ajaxFunction1()
{
    loadXMLDoc("TagDataRetrieval?config=",function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("myDiv1").innerHTML=xmlhttp.responseText;    
        }
    });

}
setInterval("ajaxFunction1()",5000);
</script>