前端之家收集整理的这篇文章主要介绍了
ajax异步在页面造成的问题,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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"); }
原文链接:https://www.f2er.com/ajax/164187.html