var no="";
var strImg="";
var img_=msg.ms_.Table[i].xd_imgs.split("∩");
for(var j=0;j<img_.length;j++)
{
if(img_[j]!="")
{
$.ajax({
  type:'POST',
  url:'AjaxXD.ashx?action=GetImgAttr',
  data:{imgs:img_[j]},
  success:function(msg){
  if(msg!="")
  {
  var str="";
  str=msg;
  strImg+="<span><a href='/xd_upimg/"+img_[j]+"' id='single_"+no+i+"' title='"+str+"'><img src='/xd_upimg/"+img_[j]+"'  width='100px' height='60px'  /><br /></a>&nbsp;</span>";//这里有值的。
  }
}
})

}
}
alert(strImg); //为什么这里弹出为空!作用域也没错啊?

解决方案 »

  1.   

    AJAX是异步加载,alert要放在ajax里面才行,$.ajax({
      type:'POST',
      url:'AjaxXD.ashx?action=GetImgAttr',
      data:{imgs:img_[j]},
      success:function(msg){
      if(msg!="")
      {
      var str="";
      str=msg;
      strImg+="<span><a href='/xd_upimg/"+img_[j]+"' id='single_"+no+i+"' title='"+str+"'><img src='/xd_upimg/"+img_[j]+"'  width='100px' height='60px'  /><br /></a>&nbsp;</span>";//这里有值的。
    alert(strImg);
      }
    }
    }) 
      

  2.   

    那我strImg,会在ajax引用,怎么弄,要先把ajax出来的值赋给一个hide的input吗??然后再提取出来吗