同时执行多个ajax xmlhttp请求的方法

原创
2011/03/12 09:31
阅读数 1.8K

如果是执行单一一个程序,这样就可以


function loadTxt(url, div_id)
{
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
            document.getElementById(div_id).innerHTML=xmlhttp.responseText;
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

但是如果要同时执行多个,就会上一个还没执行完就被下一个xmlhttp覆盖了。这时就要写个标准点的函数,方法就是给ajax回调函数加上参数,传xmlhttp给回调函数让其知道在处理哪个。


function stateChange(xmlhttp, div_id)
{
    if (xmlhttp.readyState==4&&xmlhttp.status==200)
        document.getElementById(div_id).innerHTML=xmlhttp.responseText;
}

function loadTxt(url, div_id)
{
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
    {
        stateChange(xmlhttp, div_id);
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}



展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部