function updateItem(str)
{
    var stocks =new Array("GOOG","MSFT","AAP","JDAS","G");
    for(var i=0; i<stocks.length;i++)
    {
        xmlHttp=GetXmlHttpObject();    
        if (xmlHttp==null)
        {
            alert ("Browser does not support HTTP Request");
            return;
        }
        var url="php/updateCart.php";
        url=url+"?q="+stocks[i];
        url=url+"&sid="+Math.random();
        xmlHttp.onreadystatechange= function(){
            if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
            {
                document.getElementById(stocks[i])
                .innerHTML=xmlHttp.responseText;
            }
        } 
        xmlHttp.open("GET",url,true);
        xmlHttp.send(null); 
    }
}    
function startOff()
{
    if(interval != -1)
    {
        clearInterval(interval);
    }
    interval = setInterval(function() {updateItem()}, 1000);
} 
我正在尝试在一个间隔内更新一个表单中的多个部门,问题是 for 循环将很快完成请求。我没有意识到这一点,直到我发出一堆警报并注意到当我慢慢按下输入时......我知道你可以使用 setTimeout 来做到这一点,但我似乎无法正确理解语法。由于我没有检查 readystate 的函数的名称,所以有人可以给我一个关于语法的提示。或者,如果有更简单的方法......我将不胜感激。