同步ajax造成假死 ,怎么处理

tengguanbing 2011-04-01 02:21:13

for(i=0;i<2;i++)
{
var xmlhttp;
if(window.XMLHttpRequest){
//非IE
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlhttp= new ActiveXObject("Msxml2.XMLHTTP");
}
}
xmlhttp.onreadystatechange=function(){
if(4==xmlhttp.readystate){
if(200==xmlhttp.status){
showData;//在页面显示数据 在不同的DIV中
}
xmlhttp.open("post","URL",false);
//设定http头
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//发送请求
xmlhttp.send(null);
}



理论上来讲 应该先后 2次 显示数据,但现在一次把2次数据都同时显示

我看了很多帖子 说是假死造成的。但没有有效的解决方案!
我必须用同步。或者用异步的话,2次ajax 必须有先后顺序(就是必须第一个完成后才可以执行第二个)
...全文
269 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tengguanbing 的回复:]

2楼 如果我10次循环呢?
我QQ273237596 可以的话帮帮我
[/Quote]
那就用回调啊 调用一次和N次 没什么区别
tengguanbing 2011-04-01
  • 打赏
  • 举报
回复
2楼 如果我10次循环呢?
我QQ273237596 可以的话帮帮我
startdream 2011-04-01
  • 打赏
  • 举报
回复
在回调函数中,再启一个ajax,而不是在外面for 循环
tengguanbing 2011-04-01
  • 打赏
  • 举报
回复
有没有高手帮解决下!

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧