zoukankan      html  css  js  c++  java
  • ajax配合一般处理程序(.ashx)登录的一般写法

    前端:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>首页</title>
        <script type="text/javascript" src="JQuery/jquery.min.js"></script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <input type="text" id="txtlogin" value="车辆管理员1" />
                <input type="button" onclick="Login()" value="登录" />
            </div>
        </form>
        <script type="text/javascript">
            function Login() {
                //var userid = $("#txtlogin").val();
                $.ajax({
                    type: "post",
                    url: "CarManager/ashx/User.ashx",
                    data: { "action": "userlogin", "username": $("#txtlogin").val() },
                    dataType: "json",
                    success: function (data) {
                        if (data.msg="1") {
                            location.href = "CarManager/Main.aspx";
                        }
                    }
                });
            }
        </script>
    </body>
    </html>
    

     后端:

    public class User : IHttpHandler, IRequiresSessionState
    {
    
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
    
            StringBuilder _strContent = new StringBuilder();
            if (_strContent.Length == 0)
            {
                string _strAction = context.Request.Params["action"];
                if (string.IsNullOrEmpty(_strAction))
                {
                    _strContent.Append("{"msg": "0", "msgbox": "禁止访问!","rows": []}");
                }
                else
                {
                    switch (_strAction.Trim().ToLower())
                    {
                        case "userlogin": _strContent.Append(UserLogin(context)); break;
                        default: break;
                    }
                }
            }
            context.Response.Write(_strContent.ToString());
        }
    
        private string UserLogin(HttpContext context)
        {
            string result = "";
            string _username = context.Request.Form["username"];
            string _password = context.Request.Form["password"];
            Model.cmUser model = new Model.cmUser();
            if (context.Session["UserModel"] != null)
            {//当前浏览器已经有用户登录 判断是不是当前输入的用户
                model = (Model.cmUser)context.Session["UserModel"];
                if (model.Name != _username)
                {
                    result = "{"msg": "0", "msgbox": "此浏览器已经有其他用户登录!"}";
                }
                else
                {
                    result = "{"msg": "1", "msgbox": "登录成功!"}";
                }
            }
            else
            {
                BLL.cmUser bll = new BLL.cmUser();
                string strWhere = string.Format("[Name]='{0}'", _username);// and [Password]='{1}', _password
                DataTable dt = bll.GetList(1, strWhere, " ID ").Tables[0];
                if (dt != null)
                {//用户和密码正确
                    int _userid = 0;
                    int.TryParse(dt.Rows[0]["ID"].ToString(), out _userid);
                    model.ID = _userid;
                    model.Name = dt.Rows[0]["Name"].ToString();
                    int _type = 0;
                    int.TryParse(dt.Rows[0]["Type"].ToString(), out _type);
                    model.Type = _type;
    
                    context.Session["UserModel"] = model;
                    result = "{"msg": "1", "msgbox": "登录成功!"}";
                }
                else
                {
                    result= "{"msg": "0", "msgbox": "用户名或密码错误!"}"; ;
                }
            }
            return result;
        }
    
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
    
  • 相关阅读:
    命令行编译运行java工程(转)
    JAVA配置环境变量的意义(转)
    在Linux环境下搭建Tomcat+mysql+jdk环境(转)
    java环境变量
    varchar(8000) nvarchar(4000) varchar(max) nvarchar(max) 区别
    HTTP与HTTPS握手的那些事(转载)
    ELK研究-部署搭建运用
    主机规划与磁盘分区
    占位符问题 python pymysql
    django 数据迁移的问题 sqlite3 --> mysql
  • 原文地址:https://www.cnblogs.com/zhyue93/p/ajax_login.html
Copyright © 2011-2022 走看看