簡體   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