zoukankan      html  css  js  c++  java
  • JQuery的ajax登录案例

    1.简单版
    AjaxLogin.html代码:

    <head>
        <title></title>
        <script src="jquery-1.8.3.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                $("#btn").click(function () {
                    var name = $("#name").val();
                    var pwd = $("#pwd").val();
                    $.ajax({
                        type: "post",
                        url: "AjaxLogin.ashx",
                        data: { name: name, pwd: pwd },
                        success: function (data) {
                            var strs = $.parseJSON(data);
                            if (strs.Status == "ok") {
                                alert(strs.Msg);
                            }
                            else if (strs.Status == "error") {
                                alert(strs.Msg);
                            }
                            else {
                                alert("服务器返回信息出错");
                            }
                        },
                        error: function () {
                            alert("登录请求失败");
                        }
                    });
                });
            });
        </script>
    </head>
    <body>
        <input type="text" id="name" value="" />
        <input type="text" id="pwd" value="" />
        <input type="button" id="btn" value="确定" />
    </body>
    </html>

    AjaxLogin.ashx代码:

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        string name = context.Request["name"];
        string pwd = context.Request["pwd"];
        if (name == "admin" && pwd == "123")
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "ok", Msg = "登录成功" });
            context.Response.Write(json);
        }
        else
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "登录失败" });
            context.Response.Write(json);
        }
    }

    2.完整版

    Login.html代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>登录</title>
        <script src="jquery-1.5.2.js"></script>
        <script type="text/javascript">
            $(function () {
                $("#imgValidCode").click(function () {
                    $("#imgValidCode").attr("src", "LoginValidCode.ashx?" + new Date());
                });
                
                $("#btnLogin").click(function () {
                    var username = $("#username").val();
                    var password = $("#password").val();
                    var validCode = $("#validCode").val();
                    $.ajax({
                        type: 'post', url: 'Login1.ashx', data: { username: username, password: password ,validCode:validCode},
                        success: function (data) {
                            if (data.Status == "ok") {
                                alert("登录成功");
                            }
                            else if (data.Status == "error") {
                                alert("出错啦!" + data.Msg);
                            }
                            else {
                                alert("服务器返回信息未知");
                            }
                        },
                        error: function () {
                            alert("登录请求失败");
                        }
                    });
                });
            });
            
        </script>
    </head>
    <body>
        <table>
            <tr><td>用户名:</td><td><input type="text" id="username" /></td></tr>
            <tr><td>密码:</td><td><input type="password" id="password" /></td></tr>
            <tr><td><img src="LoginValidCode.ashx" id="imgValidCode" /></td><td><input type="text" id="validCode" /></td></tr>
            <tr><td><input type="button" id="btnLogin" value="登录" /></td><td></td></tr>
        </table>
    </body>

    Login.ashx代码:

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        string username = context.Request["username"];
        string password = context.Request["password"];
        string validCode = context.Request["validCode"];
    
        //sesssion中的验证
        string serverValidCode = (string)context.Session[LoginValidCode.LOGINVALIDCODE];
        if (validCode != serverValidCode)
        {
            string json = new JavaScriptSerializer().Serialize(new { Status="error",Msg="验证码错误"});
            context.Response.Write(json);
            return;
        }
        DataTable dtUsers =  SqlHelper.ExecuteQuery("select * from T_Users where UserName=@UserName",
            new SqlParameter("@UserName",username));
        if (dtUsers.Rows.Count <= 0)
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "用户名不存在" });
            context.Response.Write(json);
            return;
        }
        if (dtUsers.Rows.Count > 1)
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "系统出错,请联系管理员" });
            context.Response.Write(json);
            return;
        }
        DataRow rowUser = dtUsers.Rows[0];
        string dbPassword = (string)rowUser["Password"];
        if (dbPassword == password)
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "ok", Msg = "登录成功" });
            context.Response.Write(json);
        }
        else
        {
            string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "密码错误" });
            context.Response.Write(json);
        }
    }
  • 相关阅读:
    Mvc form提交
    FlexiGrid 使用 全选、自动绑定
    Mysql Insert Or Update语法例子
    orderby与groupby同时使用
    SQLSTATE[HY000] [2002] No such file or directory in
    swoole安装
    关于商城分类查询表结构与数据查询
    查询数据库每张表的信息
    php 正则验证
    PHP代码优化
  • 原文地址:https://www.cnblogs.com/genesis/p/4692230.html
Copyright © 2011-2022 走看看