这里ajax需要改成同步
var flag = true; var title = $("#modal").find("input[name=groupname]").val(); /*获取分组列表*/ $.ajax({ method: 'get', url: '/groups/'+roomId, async: false, /*设置成同步*/ success: function(data){ if(data){ console.log(data); var n = data.groups.length; for(var i = 0;i<n;i++){ if(title==data.groups[i].title){ layer.alert("该小组名已存在!"); flag=false; console.log(flag); break; }else{ flag=true; } } }else{ layer.alert("操作失败,请稍后重试!"); } } }); console.log(flag);
需要把上面的ajax设置成同步,
如果是异步,可能上面的没执行完代码已经跑到下面了
if(flag){ var params = { "title":title, } $.ajax({ method: 'post', url: '/group/create/'+roomId, data:params, success: function(data){ if(data){ console.log(data) $(".cr-html-two").find(".cr-input").hide(); $(".cr-html-two").find(".cr-student-list").show(); $.ajax({ method:"get", url: "/group/not/users/"+roomId, success:function(data){ var m = data.students.length; for(var k=0;k<m;k++){ console.log(data.students[k].name) var span = '<span class="cr-email-span" data-id="' + data.students[k].id +'">' +data.students[k].name +'</span>'; $(".cr-html-two").find(".cr-student-list").append(span); } } }) }else{ layer.alert("操作失败,请稍后重试!"); } } }); }