ajax异步在页面造成的问题

来源:互联网 发布:中兴软创 知乎 编辑:程序博客网 时间:2024/05/01 15:24
ajax的异步可能会导致之前获取的数据,后面获取不到,原因是ajax还在加载。此时分两个函数分别设置延时调用,或者用同步

function detail(id) {
//获取数
alert(id);
var datag;
var ui='<%=detailuii%>';
var urll =ui+id;
$.ajax({
type:'get',
url:urll,
async:false,
data:'',
success:function(data){
alert(data);
datag=data;

}
});
$("#detail-form").append('');
var table = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';


for(var i=0;i<datag.data.length;i++){
if(datag.data[i].id==id){
table += '<tr style="height:25px; line-height:25px;padding-left:10px;">'
+'<th align="left" width="25%" >ip地址:</th>';
if(datag.data[i].ipaddr==""||datag.data[i].ipaddr==null){
table += '<td align="left" width="25%" ></td>';
}else{
table += '<td align="left" width="25%" >'+datag.data[i].ipaddr+'</td>';
}
table += '<th align="left" width="25%" >用户名:</th>';
if(datag.data[i].name==""||datag.data[i].name==null){
table += '<td align="left" width="25%" ></td>';
}else{
table += '<td align="left" width="25%" >'+datag.data[i].name+'</td>';
}
table += '</tr>'
+'<tr style="height:25px; line-height:25px;padding-left:10px;">'
+'<th align="left" width="25%" >描述:</th>';
if(datag.data[i].ms==""||datag.data[i].ms==null){
table += '<td align="left" width="25%" ></td>';
}else{
table += '<td align="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");



}
0 0
原创粉丝点击