日期:2014-05-16  浏览次数:20749 次

ajax方法里面循环调用ajax方法的问题
function a(){
  $.ajax({
  type:"get",
  url:"",
  //url:"index.php?m=member&c=index&a=public_getdevice_ajax",
  data:"m=member&c=index&a=public_getdevice_ajax&user={$memberinfo[user]}",
  success:function(data,textStatus)
  {
  var j=eval(data);
  for(var i=0;i<j.length;i++){ 
  var device=j[i].device;
  var session=j[i].session;
  var version=j[i].version;
  var content=aaaaa;
  $.ajax({
  type: "post",
 
  url: "http://www.aaa.com/",
   
  data:content,
  beforeSend: function(XMLHttpRequest){
  //ShowLoading();
  //alert("aa");
  },
  success: function(data, textStatus){
 
 
  j=eval('('+data+')');
   
  alert(data);
  if(j.RESPONSE=="SUCCESS"){
 
  document.getElementById(device).style.display='inline-block';
 
}else{ ssss;}
 
  },
  complete: function(XMLHttpRequest, textStatus){
  //HideLoading();
  //alert("cccc");
  },
  error: function(){
 
  }
  });
  }
   
  },
  complete: function(XMLHttpRequest, textStatus){
  //HideLoading();
  //alert("cccc");
  },
  error: function(){
 
  }
  });
   
}这样用的话第二个ajax不是跟着for循环执行的,第二个ajax要用到第一个ajax请求来的参数。请教这是该怎么解决?

------解决方案--------------------
你贴出的代码就有问题啊,红色地方的变量都没定义,不知道你要实现什么功能,自己修改下就好了,要引用上一个ajax的内容一定要同步按照你的这个要求,要不就得放回调里面,这个数据同步起来就更加麻烦了

for(var i=0;i<j.length;i++){ 
var device=j[i].device;
var session=j[i].session;
var version=j[i].version;
var content=aaaaa;
$.ajax({
type: "post",
 
url: "http://www.aaa.com/",
 
data:content,
beforeSend: function(XMLHttpRequest){
//ShowLoading();
//alert("aa");
},
success: function(data, textStatus){
 
 
j=eval('('+data+')');
 
alert(data);
if(j.RESPONSE=="SUCCESS"){
 
document.getElementById(device).style.display='inline-block';
 
}else{ ssss;}
 
},
complete: function(XMLHttpRequest, textStatus){
//HideLoading();
//alert("cccc");
},
error: function(){
 
}
});
}
 
},
complete: function(XMLHttpRequest, textStatus){
//HideLoading();
//alert("cccc");
},
error: function(){
 
}