ajax异步在页面造成的问题

ajax的异步可能会导致之前获取的数据,后面获取不到,原因是ajax还在加载。此时分两个函数分别设置延时调用,或者用同步

functiondetail(id){

//获取数

alert(id);

vardatag;

varui='<%=detailuii%>';

varurll=ui+id;

$.ajax({

type:'get',

url:urll,

async:false,

data:'',

success:function(data){

alert(data);

datag=data;

}

});

$("#detail-form").append('');

vartable='<tablewidth="100%"border="0"cellspacing="0"cellpadding="0">';

for(vari=0;i<datag.data.length;i++){

if(datag.data[i].id==id){

table+='<trstyle="height:25px;line-height:25px;padding-left:10px;">'

+'<thalign="left"width="25%">ip地址:</th>';

if(datag.data[i].ipaddr==""||datag.data[i].ipaddr==null){

table+='<tdalign="left"width="25%"></td>';

}else{

table+='<tdalign="left"width="25%">'+datag.data[i].ipaddr+'</td>';

}

table+='<thalign="left"width="25%">用户名:</th>';

if(datag.data[i].name==""||datag.data[i].name==null){

table+='<tdalign="left"width="25%"></td>';

}else{

table+='<tdalign="left"width="25%">'+datag.data[i].name+'</td>';

}

table+='</tr>'

+'<trstyle="height:25px;line-height:25px;padding-left:10px;">'

+'<thalign="left"width="25%">描述:</th>';

if(datag.data[i].ms==""||datag.data[i].ms==null){

table+='<tdalign="left"width="25%"></td>';

}else{

table+='<tdalign="left"width="25%">'+datag.data[i].ms+'</td>';

}

table+='</tr>';

}}

table+='</table>';

$("#detail-form").append(table);

document.getElementById("detail-form").style.display="block";

$("#detail-form").dialog({

autoOpen:false,

height:'auto',

width:590,

modal:true,

onClose:function(){

$("#detail-form").empty();

$("#detail-form").attr("style","display:none;overflow-y:auto;height:100%;");

}

});

$("#detail-form").dialog("open");

}

相关推荐