AJAX技术无刷新登录窗口界面后台数据验证

分享的是之前使用AJAX和JAVA完成的登录验证的功能,第一次发这样的博客,不足的地方希望大佬能评论指点指点。

login.html代码

<div class="cd-window">
    <div class="cd-login">
        <div class="form-logo">
            <span>后台登陆界面</span>
        </div>
        <div id="warn">
            <i class="fa fa-minus-square-o" style="color:red;"></i>
            <p class="error"></p>
        </div>
        <div class="form-login">
            <input type="text" autocomplete="off" id="username" class="username" placeholder="用户名/邮箱" />
        </div>
        <div class="form-login">
            <input type="password" autocomplete="off" id="password" class="password"placeholder="密码" />
        </div>
        <div class="form-login">
            <button id="login-btn">登录</button>
            <p><input type="checkbox" name="autologin" id="autologin" value="10"/>
               <label for="autologin" >自动登录</label>
               <a href="javascript:;" class="switch">手机快捷登录</a>
            </p>
        </div>
        <div class="form-login">
            <p>
                <a href="#" >立即注册</a>
                <a href="#" class="a-right">忘记密码</a>
            </p>
        </div>
    </div>
</div>

界面
这里写图片描述

Js的代码

            $("#login-btn").on("click",function(){ /*登录验证*/
                var user_v=$("#username").val(),  //获取用户名的value
                psw_v=$("#password").val(), //获取密码的value
                warn=$("#warn"),
                error=$(".error"); 
                warn.css({visibility: 'hidden'});
                error.empty();
                if(user_v.length>0){
                    if(psw_v.length>0){
                      console.log("登录成功");
                      check_user(user_v,psw_v);  
                    }
                    else{
                      warn.css({visibility: 'visible'});
                      error.text("请输入密码");
                    }
                }else if(psw_v.length==0){
                    warn.css({visibility: 'visible'});
                    error.text("用户名和密码不能为空");
                }else{
                    warn.css({visibility: 'visible'});
                    error.text("请输入帐户");
                }
            });  

            function check_user(user,psw){  /*验证用户密码函数模块*/
            var warn=$("#warn");
            var error=$(".error");
            var auto=$("#autologin:checked").val();
            $.post("userservlet?method=1",   {username:user,password:psw,autologin:auto},function(data){
            /* 使用AJAX的请求方式中的Post方式 */
                console.log(data); 
                /*利用控制台观察返回的数据*/
                if(data=="登录成功"){ 
                //返回的data为登录成功进行页面跳转
                    window.location.href = "*******.jsp";   
                }else{
                    warn.css({visibility: 'visible'});
                    error.text(data);
                }
            });
        }

后台servlet代码

public class userservlet extends HttpServlet {
    private Userinter userinter=null;

    public void destroy() {
        super.destroy(); 
    }


    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String method=request.getParameter("method"); 
        //接收前台传递的method值制定相应的类进行处理
        switch (method) {
        case "1":
            check_user(response, request); 
            break;
        default:
            break;
        }
    }

    public void check_user(HttpServletResponse response,HttpServletRequest request)throws IOException{

        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        User user=new User();  //创建User实体类进行set
        user.setUsername(username);  
        user.setPassword(password);
        String msg=null;
        boolean flag=userinter.check_login(user); 
        /*这里的userinter.check_login是我后台查询数据库的逻辑类,可以自行创建的Java类代码返回
        boolean类型来进行判断用户名和密码是否正确 */
        if(flag){ 
            msg="登录成功"; 
            response.getWriter().print(msg); //利用该方法返回给前台的data值
        }else{
            msg="账号或密码不正确";
            response.getWriter().print(msg);
        }

    }
}

    public void init() throws ServletException {
        userinter=new UserDao();
    }

    public void check_user(HttpServletResponse response,HttpServletRequest request)throws IOException{
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        User user=new User();
        user.setUsername(username);
        user.setPassword(password);
        String msg=null;
        boolean flag=userinter.check_login(user);
        if(flag){
            msg="登录成功";
            response.getWriter().print(msg);
        }else{
            msg="账号或密码不正确";
            response.getWriter().print(msg);
        }

    }

最终的界面效果
这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值