ajax驗證用戶與密碼

 

  
  
           
  
  
  1. 登錄頁面:  
  2. <s:form method="post" action="../user/login.action" id="ctl00" theme="simple" namespace="/authorize"> 
  3.                         <s:token></s:token> 
  4.                             <tr> 
  5.                                 <td> 
  6.                                     <span>請輸入Email地址:</span> 
  7.                                     <div> 
  8.                                         <s:textfield name="email" id="txtUsername" cssClass="textbox" ></s:textfield><br/> 
  9.                                         <span id="emailInfo" style="color:red"></span> 
  10.                                     </div> 
  11.                                 </td> 
  12.                                 <td> 
  13.                                     <span class="blank">密碼:</span> 
  14.                                     <div> 
  15.                                         <s:password name="password" id="txtPassowrd" cssClass="textbox" ></s:password><br/> 
  16.                                         <span id="pwdInfo" style="color:red"></span> 
  17.                                     </div> 
  18.                                 </td> 
  19.                                   
  20.                                 <td> 
  21.                                     <s:submit id="btnSignCheck" cssClass="button_enter"  value="登 錄"></s:submit> 
  22.  
  23.                                 </td> 
  24.                             </tr> 
  25.                             <!--   
  26.                             <input type="hidden" name="uri" value="${uri}" />  
  27.                              --> 
  28.                         </s:form> 

 

  
  
           
  
  
  1. var flag = {"login":false};  
  2. $(function(){  
  3.     var name="";  
  4.     var pwd="";  
  5.     $("#txtUsername").blur(function(){  
  6.         flag.login=false;  
  7.         name = $("#txtUsername").val();  
  8.         if(name==""){  
  9.             $("#emailInfo").html("請輸入郵箱地址!");  
  10.         }else{  
  11.             $("#txtPassowrd").blur(function(){  
  12.                 pwd=$("#txtPassowrd").val();  
  13.                 if(pwd==""){  
  14.                     $("#pwdInfo").html("請輸入密碼!");  
  15.                 }else{  
  16.                     $.post(  
  17.                 "../user/testLogin.action?dt="+new Date().getTime(),  
  18.                 {"loginName":name,"loginPwd":pwd},  
  19.                 function(data){  
  20.                   
  21.                     if(data.ok){  
  22.                         flag.login=true;  
  23.                     }else{  
  24.                     alert(data);  
  25.                         $("#pwdInfo").html("用戶名或密碼錯誤,請從新填寫!");  
  26.                     }  
  27.                 },  
  28.                 "json"  
  29.             );  
  30.                 }  
  31.             });  
  32.         }  
  33.     });  
  34.     //是否容許表單提交  
  35.     $("#ctl00").submit(function(){  
  36.         return flag.login;  
  37.     });  
  38. }); 

上面代碼中ajax是使用jquery提供的$.post來發送的css

 

  
  
           
  
  
  1. $.post(  
  2.                     "../user/testLogin.action?dt="+new Date().getTime(),  
  3.                     {"loginName":name,"loginPwd":pwd},  
  4.                     function(data){  
  5.                       
  6.                         if(data.ok){  
  7.                             flag.login=true;  
  8.                         }else{  
  9.                         alert(data);  
  10.                             $("#pwdInfo").html("用戶名或密碼錯誤,請從新填寫!");  
  11.                         }  
  12.                     },  
  13.                     "json"  
  14.                 ); 

後臺判斷邏輯html

 

  
  
           
  
  
  1. public class testLoginAction {  
  2.     private boolean ok;  
  3.       
  4.  
  5.     public boolean isOk() {  
  6.         return ok;  
  7.     }  
  8.  
  9.  
  10.     public void setOk(boolean ok) {  
  11.         this.ok = ok;  
  12.     }  
  13.  
  14.  
  15.     public String execute(){  
  16.         UserDAO userDao = DAOFactory.getUserDAO();  
  17.         HttpServletRequest request=ServletActionContext.getRequest();  
  18.         Map<String, Object> session = ActionContext.getContext().getSession();  
  19.         String loginName=request.getParameter("loginName");  
  20.         String pwd=request.getParameter("loginPwd");  
  21.         String str="";  
  22.         try {  
  23.             str = userDao.findByLogName(loginName);  
  24.         int index=str.lastIndexOf("/");  
  25.         String password=str.substring(0,index);  
  26.         String pass = DegistUtil.md5(pwd);  
  27.         int index1=str.lastIndexOf("/")+1;  
  28.         String bb=str.substring(index1);  
  29.         String s="";  
  30.         if(password.equals(pass)){  
  31.             session.put("bb",bb);  
  32.             ok=true;      
  33.         }else{  
  34.             ok=false;  
  35.         }  
  36.         } catch (DangException e) {  
  37.             e.printStackTrace();  
  38.         }  
  39.         return "success";  
  40.           
  41.     }  

struts2的配置文件以下:jquery

 

  
  
           
  
  
  1. <action name="testLogin" class="org.tarena.action.user.testLoginAction"> 
  2.                 <result name="error">loginForm.jsp</result> 
  3.                 <result name="success" type="json"></result> 
  4.         </action>
相關文章
相關標籤/搜索