如何处理在同一张网页中多个部分同时进行AJAX加载导致的冲突问题?

就是说,在一张网页中,多个元素同时使用ajax技术加载别的网页,在这种情况下似乎会导致冲突,现象就是这多个加载对象似乎只有最后那个元素会正确加载,而其他元素一直处于非(x... 就是说,在一张网页中,多个元素同时使用ajax技术加载别的网页,在这种情况下似乎会导致冲突,现象就是这多个加载对象似乎只有最后那个元素会正确加载,而其他元素一直处于非(xmlhttp.readyState==4 && xmlhttp.status==200)的状态。

备注:是不是因为我使用的同一个函数进行局部更新所致,有什么解决方法吗?还是因为同时加载的时候用的是同一个xmlhttp所致呢?

附上自己写的加载函数:
var xmlhttp;
function loadXMLDoc(name,url,cfunc)
{
if (url==0)
{
document.getElementById(name).innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var tempurl=url+"?t="+Math.random()
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",tempurl,true);
xmlhttp.send();
}
function loadingasp(name,url)
{
loadXMLDoc(name,url,function()
{
if (xmlhttp.readyState<4)
{
document.getElementById(name).innerHTML="<object width='120' height='100' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#4,0,0,0'><param name='SRC' value='../pictrue/loading.swf'><embed src='../pictrue/loading.swf'></embed></object>";
}
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(name).innerHTML=unescape(xmlhttp.responseText);
}
}
);
}
展开
 我来答
gyidd
2011-08-03 · TA获得超过408个赞
知道小有建树答主
回答量:387
采纳率:100%
帮助的人:386万
展开全部
请不要同时发起AJAX请求,您可以通过成功后发起第二个请求的方法来解决这个问题。
追问
但是这种成功后同步更新的话,会让网页打开的异常的慢
追答
如果客户端的资源充足的话,可以尝试用AJAX和IFRAME并行的方式,用隐藏的IFRAME来解决这些问题,甚至可以多开几个IFRAME,IFRAME内的JS一样可以操作PARENT的元素。
tmzxcs0123
2011-08-03
知道答主
回答量:42
采纳率:0%
帮助的人:19.1万
展开全部
程序我最头疼了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式