ajax开发用法 用户名异步检测

来源:互联网 发布:淘宝店铺美化 编辑:程序博客网 时间:2024/06/06 13:17

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
// <![CDATA[

        function btnReg_onclick() {
          //这个实现ajax注册。自己去写。
        }

        //验证用户名存在不
        function checkName() {
            var name = $("#username").val();
            $.ajax({
                type: "post",
                url: "Handler.ashx",
                // data:"t=checkName &name="+name  我们一般不这样用,但是是可以的。
                data: { "t": "checkName", "name": name },
                success: function (b) {
                    if (b == "true") $("#nameTips").text("存在这个用户");
                    else
                        $("#nameTips").text("可以注册!");
                }

            });
        }

// ]]>
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        用户注册<br />
        <br />
        用户名:<input id="username" type="text" onchange="checkName();" /><span id="nameTips"></span><br />
        密码:<input id="password" type="text" /><br />
        密码确认:<input id="password1" type="text" /></div>
    </form>
    <p>
        <input id="btnReg" type="button" value="注册" onclick="return btnReg_onclick()" /></p>
</body>
</html>

Handler.ashx代码

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

using System.Web.Configuration;
public class Handler : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
       // context.Response.Write("Hello World");
        string type = context.Request["t"];  //通过类型达到判断调用哪个函数
        string name = context.Request["name"];
        switch (type)
        {
            case "checkName":
             context.Response.Write(   HasUser(name)  ) ;
                break;
             //其他case
            default:
                break;
       
        }
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

    private string HasUser(string username)
    {
      //这里自己写ado.net代码验证是否有用户。我假设任何情况下都存在这个用户。
        string connectionString = "server=.;database=News;uid=sa;pwd=1234;;";
        SqlConnection conn = new SqlConnection(connectionString);
        conn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "SELECT NAME FROM TB_ADMIN WHERE NAME='" + username + "'";
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
            return "true";
        else
            return "false";
       
    }

}

原创粉丝点击