[英]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.