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"); }

相关文章

$.AJAX()方法中的PROCESSDATA参数 在使用jQuery的$.ajax()方...
form表单提交的几种方式 表单提交方式一:直接利用form表单提...
文章浏览阅读1.3k次。AJAX的无刷新机制使得在注册系统中对于...
文章浏览阅读1.2k次。 本文将解释如何使用AJAX和JSON分析器在...
文章浏览阅读2.2k次。/************************** 创建XML...
文章浏览阅读3.7k次。在ajax应用中,通常一个页面要同时发送...