获取未执行完的ajax,jquery的ajax请求尚未完成,就会接着执行后面的代码吗?

当一个注册表单的提交按钮点击后,通过绑定的时间来确定用户名、邮箱等是否有效,最后来确定是否提交表单。先设置一个变量status值为true,然后通过ajax来判断用户名、邮箱等是否已经注册,如果已注册就在回调函数中设置status的值为false,最后再判断status的值是true还是false来决定是否提交。判断status的代码写在ajax的后面,但是还是先执行了判断status的代码,再执行了ajax回调函数中设置status的代码,不知道该怎么做?

window.cb = {};

cb.register={};

$('#register-submit').click(function(){

var $self = $(this);

var $form = $(this).closest('#register-form');

var $username = $form.find('#register-username');

var username = $username.val();

cb.register.status = true;

if(!username.match(/^[0-9a-z_\u4e00-\u9af5]{2,14}$/i))

{

$username.next('span').remove();

$username.after('无效的用户名');

cb.register.status = false;

}

else

{

$username.next('span').remove();

$.post('/auth/ajax',{username:username},function(data){

if(data.status==false)

{

$username.after('用户名已注册');

cb.register.status = false;

}

},'json');

}

var $email = $form.find('#register-email');

var email = $email.val();

if(!email.match(/^[0-9a-z_\-]+@[0-9a-z_\-]+\.[a-z]{2,4}$/i))

{

$email.next('span').remove();

$email.after('无效的邮箱');

cb.register.status = false;

}

else

{

$email.next('span').remove();

$.post('/auth/ajax',{email:email},function(data){

if(data.status==false)

{

$email.after('邮箱已注册');

cb.register.status = false;

console.log(cb.register.status);

}

},'json');

}

var $pwd = $form.find('#register-password');

var pwd = $pwd.val();

if(!pwd.match(/^[0-9a-z_\-#@$*%&]{6,16}$/i))

{

$pwd.next('span').remove();

$pwd.after('无效的密码');

cb.register.status = false;

}

console.log('hello');

console.log(cb.register.status);

return false;

if(cb.register.status==false){

return false;

}

$.post('/auth/register',{email:email,name:username,password:pwd},function(data){

if(data.status==true)

{

$self.css('display','none');

var $message = $('#message');

var s1 = '注册成功';

var s2 = '一封邮件已发送到邮箱,请在1小时内验证(过期后需重新发送验证邮件)';

$message.find('.message-body').append(s1+s1);

}

else

{

var $token = $form.find('#token');

$token.attr('name',data.token.name);

$token.attr('value',data.token.value);

$form.find('.submit-tips').remove();

$form.prepend('

注册失败,请重新提交
');

}

},'json');

return false;

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值