js layui框架在ajax 未运行完就执行
问题描述:
btn:['提交','取消'],
yes:function(yes,no){
$.ajax({
url:'mvc/smUser00200002/addSmUser',
type:'post',
data:$('#updateform').serialize(),
dataType: "text",
success:function (obj) {
if(obj=='403'){
alert("请重新登录");
$("#tbody").html("");
}else if(obj=='201'){
$.ajax({
url: 'mvc/smUser00200002/getSmUserAll',
type: 'get',
dataType: "json",
success: function (obj) {
if(obj.state=='403'){
alert("请重新登录");
$("#tbody").html("");
}
else {
var number='';
for(var j=1;j<obj.page+1;j++){
number+=
'<a href="#" onclick="pagenumber('+j+')">'+j+'</a>'
}
var strb='';
strb+=
'<span class="l_f">'+
'<a title="新建" onclick="add('+"'新建',"+"'"+nowuserid+"',"+"'smUser_new.html',"+"'"+nowuserid+"',"+"'950',"+"'550'"+')" class="btn btn-warning Order_form" ><i class="icon-plus"></i>新建人员信息</a>'+
'</span>'+
'<input type="button" onclick="pageupordown('+"'up'"+')" class="layui-btn" value="上一页" style="height: 40px;margin-left: 800px">'+
number+
'<input type="button" onclick="pageupordown('+"'down'"+')" class="layui-btn" value="下一页" style="height: 40px">';
$("#buta").html(strb);
var str='';
for(var i=0;i<obj.smuser.length;i++){
var mm= obj.smuser[i].faceImage;
var s=mm.lastIndexOf("\\");
var uri="img\\SmUser"+mm.substring(s);
str+=
'<tr>'+
'<td width="70px">'+obj.smuser[i].userName+'</td>'+
'<td width="70px">'+obj.smuser[i].creator+'</td>'+
'<td width="180px">'+obj.smuser[i].creationtime+'</td>'+
'<td width="70px">'+obj.smuser[i].modifier+'</td>'+
'<td width="150px">'+obj.smuser[i].userType+'</td>'+
'<td width="180px">'+obj.smuser[i].phoneNum+'</td>'+
'<td width="200px">'+obj.smuser[i].addr+'</td>'+
'<td width="180px">'+obj.smuser[i].birthdate+'</td>'+
'<td width="70px">'+obj.smuser[i].edu+'</td>'+
'<td width="200px">'+obj.smuser[i].id+'</td>'+
'<td width="70px">'+obj.smuser[i].nationality+'</td>'+
'<td width="70px">'+obj.smuser[i].nativeplace+'</td>'+
'<td width="70px">'+obj.smuser[i].sex+'</td>'+
'<td width="100px">'+obj.smuser[i].titletechpost+'</td>'+
'<td width="100px">'+obj.smuser[i].addrCode+'</td>'+
'<td width="100px"><img src="'+uri+'" alt="" width="100px" height="100px"></td>'+
'<td width="200px">'+obj.smuser[i].note+'</td>'+
'<td width="80px" onclick="member_edit('+"'权限',"+"'smUser_power.html',"+"'"+obj.smuser[i].pkUser+"',"+"'550',"+"'550'"+')"><p style="text-decoration:underline;color: blue;cursor: pointer">权限</p></td>'+
'<td class="td-manage">'+
'<a title="编辑" onclick="add('+"'编辑',"+"'"+nowuserid+"',"+"'smUser_update.html',"+"'"+obj.smuser[i].pkUser+"',"+"'1000',"+"'550'"+')" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>'+
'<a title="删除" href="javascript:;" onclick="member_del(this,'+"'"+obj.smuser[i].pkUser+"'"+')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>'+
'</td></tr>';
}
$("#tbody").html(str);
}
}
});
alert("添加成功,但是没有人脸图片");
layer.close(layer.index);
框架是layui 弹出框弹出后点击提交触发ajax重写页面tbody
重写未执行完 data拿到了 ajax未执行完就弹窗和关闭弹出框
答
ajax全部改成同步的,要么后面2句放到 $.ajax({
url: 'mvc/smUser00200002/getSmUserAll',的回掉里面
yes:function(yes,no){
$.ajax({async:false,////////////改为同步
url:'mvc/smUser00200002/addSmUser',
type:'post',
data:$('#updateform').serialize(),
dataType: "text",
success:function (obj) {
if(obj=='403'){
alert("请重新登录");
$("#tbody").html("");
}else if(obj=='201'){
$.ajax({{async:false,////////////改为同步
url: 'mvc/smUser00200002/getSmUserAll',
type: 'get',
dataType: "json",
或者
for(var i=0;i<obj.smuser.length;i++){
//原来的代码。。。。。。。。。。。。。
}
$("#tbody").html(str);
////////////最后2句放这里来。去掉原来的那2句
alert("添加成功,但是没有人脸图片");
layer.close(layer.index);