• 通过ajax方式实现用户名存在性检查


    对于拥有会员功能的网站,尤其是会员登录后可以留言或评论的网站,一般要求不能有两个或两个以上相同的用户名存在。因此,在用户注册的时就需要对用户名是否已经被注册进行检查防止出现相同的用户名。下面是我实现这种功能的一种解决方案。

    1、方案原理:利用ajax的异步请求不刷新正在注册的页面向后端发送请求,后端对请求数据进行处理返回用户名是否已经存在的结果。

    2、方案详情

          (1)html代码部分,运用了input标签的onblur事件调用相应的js函数。

            <span style="font-size:14px;"><div class="pull-left">
                <input id="username" name="username" type="text" class="form-control isUsername" onblur = "CheckUserName()">
            </div></span>

           (2)Jquery部分,采用了ajax技术

            <span style="font-size:14px;">function CheckUserName()
            {
                var userName = $("#username").val();
                var Option =
                {
                    url: encodeURI('/Handler/AuthAccounts.ashx?action=checkusername&userName='+userName),
                    type: "get",
                    dataType: 'text',
                    cache: false, //设置为 false 将不会从浏览器缓存中加载请求信息。
                    async: true, //(默认: true),所有请求均为异步请求。发送同步请求,请将此选项设置为 false。同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
                    timeout: 150000, //设置请求超时时间(毫秒)。此设置将覆盖全局设置。
                    error: function ()
                    {
                    },
                    success: function (data, textStatus)
                    {
                        if (data == null || data == undefined)
                        {
                            return false;
                        }
                        jsondata = eval('(' + data + ')');
    
                        if (jsondata.state == "success")
                        {
                            alert(jsondata.message);
                            return false;
                        }
                    },
                    beforeSend: function ()     //检查之前,是否通过格式验证
                    {
                        var text = $("#username-error").text();
                        if (text != ""&&text!=undefined&&text!=null)
                        {
                            return false;
                        }
                    }
                };
                jQuery.ajax(Option);
                return false;
            }</span>

             (3)后端一般应用处理程序

           <span style="font-size:14px;"> /// <summary>
            /// 检查用户名是否已经存在
            /// </summary>
            /// <param name="context"></param>
            protected void CheckUserName(string userName)
            {
                CommonStruct commonStruct = new CommonStruct();
                
                if (userName != "" && userName!=string.Empty)
                {
                    QingCi.Model.ExecResultData result = QingCi.BLL.AuthAccounts.CheckUserNameExist(userName);
                    if (result.State == stateSuccess)
                    {
                        commonStruct.state = stateSuccess;
                        commonStruct.message = result.Message;
                       HttpContext.Current.Response.Write(serializer.Serialize(commonStruct));
                       HttpContext.Current.Response.End();
                    }
                }
            }</span>


  • 相关阅读:
    python之地基(一)
    pickle库的使用详解
    Python骚操作:动态定义函数
    10个高效的pandas技巧
    Python趣味应用 | AI告诉你张无忌最爱的竟是
    兵贵神速!掌握这10个python技巧,让你代码工作如鱼得水!
    python选方向?大数据的职位你了解多少
    python入门学习--小白篇(用python绘制五角星)
    如何让 python 处理速度翻倍?内含代码
    核心Python知识(一)
  • 原文地址:https://www.cnblogs.com/wangzl1163/p/6341193.html
Copyright © 2020-2023  润新知