首页 > 网站 > 建站经验 > 正文

Ajax实现异步刷新验证用户名是否已存在的具体方法

2019-11-02 15:52:29
字体:
来源:转载
供稿:网友

 由于要做一个注册页面,看到许多网站上都是使用Ajax异步刷新验证用户名是否可用的,所以自己也动手做一个小实例

都是简单的实例,所以直接发代码 静态页面Ajax.html 代码如下:<html>    <head>        <title>Ajax</title>        <script type="text/javascript">            function loadXMLDoc() {                if (document.getElementById("account").value == "") {                    document.getElementById("accDiv").innerHTML = "用户名不能为空";                    return;                }                var xmlHttp;                if(window.XMLHttpRequest) { // code for IE7+                    xmlHttp = new XMLHttpRequest();                }                else { // code for IE5/IE6                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");                }                 xmlHttp.onreadystatechange = function () {                    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {                        //document.getElementById("myDiv").innerHTML=xmlHttp.responseText;                        if (xmlHttp.responseText == "true") {                            document.getElementById("accDiv").innerHTML = "用户名不可用";                        }                        else {                            document.getElementById("accDiv").innerHTML = "用户名可用";                        }                    }                }                var a = document.getElementById("account").value;                // get                xmlHttp.open("GET", "validate.aspx?account=" + a + "&random=" + Math.random, true);                xmlHttp.send();            }            function delData() {                document.getElementById("account").value = "";                document.getElementById("accDiv").innerHTML = "";            }        </script>    </head>    <body>        <h3>ajax</h3>        <table>            <tr>                <td>账号:</td><td><input id="account" type="text" onblur="loadXMLDoc();" onfocus="delData();"/></td><td><div id="accDiv"></div></td>            </tr>            <tr>                <td>密码:</td><td><input id="passwd" type="password" /></td>            </tr>            <tr>                <td>确认密码:</td><td><input id="vPasswd" type="password" /></td>            </tr>            <tr>                <td>姓名:</td><td><input id="name" type="text" /></td>            </tr>        </table>     </body></html>  在账号输入框失去焦点时调用函数 访问服务器使用的是Get方法,所以在参数处使用了附加随机码来避免缓存。 验证页面validate.aspx后台代码:代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Configuration;using System.Data.Sql;using System.Data.SqlClient; public partial class Ajax_validate_validate : System.Web.UI.Page{    public SqlConnection conn;     protected void Page_Load(object sender, EventArgs e)    {        Response.Clear();        if (Exists(Request.QueryString["account"]))            Response.Write("true");        else            Response.Write("false");        Response.End();    }    /// <summary>    /// 获取数据库连接    /// </summary>    /// <returns></returns>    protected SqlConnection GetConnection()    {        string str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;        conn = new SqlConnection(str);        return conn;    }    protected bool Exists(string account)    {        using (GetConnection())        {       
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表