在一个页面上xmlHttp异步获取多个页面,怎么弄啊?我说的是异步哦,大家帮帮忙!
写了个函数,获取一个页面的时候没有问题,再使用这个函数获取另一个时候,就出现问题了.
我想因为是异步,两次调用xmlHttp对象回产生冲突!
于是我把这个函数复制了一遍,改了其中所有的变量名!这样两个异步获取就可以了
但总不能获取三个就再复制一遍吧!
请大家指点!
第一个函数:function getRemote(obj,url)
{
divObj=document.all(obj)
divObj.innerHTML="<div width=100% valign=center align=center><img src=images/loading.gif></div>"
url=url+"&t="+Date();
xmlHttp=new ActiveXObject("Microsoft.XmlHttp");
xmlHttp.Open("GET",url,true);
xmlHttp.onreadystatechange=statechange;
xmlHttp.send(null);
}
function statechange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
rs=new ActiveXObject("ADODB.RecordSet");
rs.fields.append("b",201,1);
rs.open();
rs.addNew();
rs(0).appendChunk(xmlHttp.responseBody);
rs.update();
divObj.innerHTML=rs("b").value;
}
else
{
divObj.innerHTML="抱歉,装载数据失败。原因:" + xmlHttp.statusText
}
}
}
复制的函数 在变量后加了个2
function getRemote2(obj2,url2)
{
divObj2=document.all(obj2)
divObj2.innerHTML="<div width=100% height=100% valign=center align=center style=padding-top:100><img src=images/loading.gif></div>"
url2=url2+"&t2="+Date();
xmlHttp2=new ActiveXObject("Microsoft.XmlHttp");
xmlHttp2.Open("GET",url2,true);
xmlHttp2.onreadystatechange=statechange2;
xmlHttp2.send(null);
}
function statechange2()
{
if(xmlHttp2.readyState==4)
{
if(xmlHttp2.status==200)
{
rs2=new ActiveXObject("ADODB.RecordSet");
rs2.fields.append("b2",201,1);
rs2.open();
rs2.addNew();
rs2(0).appendChunk(xmlHttp2.responseBody);
rs2.update();
divObj2.innerHTML=rs2("b2").value;
}
else
{
divObj2.innerHTML="抱歉,装载数据失败。原因:" + xmlHttp2.statusText
}
}
}
|