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