繁体   English   中英

如何通过JQuery / Ajax验证用户名/密码?

[英]How to validate a username / password via JQuery / Ajax?

尝试使此功能现在起作用:

<input id="usr_login_attp" value="ok" />

function check_for_acc() { 
 $("#usr_login_attp").val("ok");
 jQuery.ajax({
   url: "http://localhost:3000/login/validate_user/", 
   type: 'POST',
   dataType: 'json',
   data: {'email':$('#user_email').val(), 'password':$('#user_password').val(), 'authenticity_token': jQuery('input[name="authenticity_token"]').val()},
   error: function(xhr_data) {
     //sdfsd
   },
   success: function(xhr_data) {
     $("#usr_login_attp").val(xhr_data.status);
   }
 });
}

check_for_acc();
if ($("#usr_login_attp").val() == "fail") {
  err++;
  errStr += "Email or Password Was Not Recognized<br />";
}

ajax函数正在使用“ ok”或“ fail”更新$("#usr_login_attp")字段,此部分工作正常,但是,当我调用check_for_acc() ,以下if语句每次都无法通过,无论如何$("#usr_login_attp")的实际值是多少?

这让我发疯,有人能看到我在做什么错吗?

是的 您以为success处理程序将在脚本的其余部分执行之前执行。 几乎可以肯定这是不正确的。

登录成功/失败的处理需要在回调中进行。 一旦调用check_for_acc() ,它就会进行Ajax调用-但是在Ajax调用完成之前不会调用回调。 同时,您的代码运行愉快。

另外,您可以使用jQuery.when()函数为您包装一些跳跃动作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM