为什么我不能发送多个请求?

时间:2010-05-17 07:43:36

标签: javascript ajax

function stateChanged(idname) { 
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById(idname).value = xmlhttp.responseText;
        }
    }
}
function openSend(php,idname) {
    stateChanged(idname);
    xmlhttp.open("GET",php,true);
    xmlhttp.send(); 
}   
function showHint() {

    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    openSend("time.php", "Time");
    openSend("date1.php", "Date1");
    openSend("date2.php", "Date2");
    return;
}

这两个说中止(在Firebug中)并且不返回值。这是为什么?是因为我不能发送超过1个请求吗?

    openSend("time.php", "Time");
    openSend("date1.php", "Date1");

如果我不能,我怎么能只用一次调用来实现3个请求?

1 个答案:

答案 0 :(得分:1)

您需要创建三个XHR(XML HTTP请求)对象,每个对象应发送一个请求。如果你想坚持使用一个XHR对象,你必须将请求链接起来,以便在一个请求完成后(就绪状态= 4,状态=无论如何),下一个请求被触发。