ajax的驗證用戶

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Register</title>
<script type="text/javascript">
            //聲明一個全局變量,用來保存XMLHttpRequest對象的引用(未初始化)
            var xmlHttp = false;
           
            //創建XMLHttpRequest對象函數
            function GetXMLHttpRequest()
            {
            // 由於 XMLHttpRequest 對象在各個瀏覽器中實現機制不同,所以要綜合考慮
                var xmlHttp = false;
                //如果是Mozilla瀏覽器
                if (!xmlHttp && typeof XMLHttpRequest != 'object') //undefined
                {
                    xmlHttp = new XMLHttpRequest();
                }
                //如果是IE瀏覽器
                else if(window.ActiveXObject)
                {
                    try
                    {
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch (e)
                    {
                        try
                        {
                            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e2)
                        {
                            xmlHttp = false;
                        }
                    }               
                }
                return xmlHttp;
            }
           
            //當用戶名文本框失去輸入焦點時響應
            function checkUserName()
            {
                // 檢查文本框是否有輸入
                var txtUserName = document.getElementById('txtUserName');
                if (txtUserName.value == "")
                    return;

                xmlHttp = GetXMLHttpRequest();
                // 構造將XMLHttpRequest對象將請求的服務器端的URL字符串
                var url = "CheckUserName.aspx?UserName=" + txtUserName.value;
                // 建立與服務器端的連接
                xmlHttp.open("GET", url, true);
                // 設置回調函數
                xmlHttp.onreadystatechange = callBack_CheckUserName;
                // 發送請求
                xmlHttp.send(null);
            }
           
            //處理響應
            function callBack_CheckUserName()
            {
                var lblMessage = document.getElementById("lblMessage");
                // 4代表服務器端執行完畢並已經成功返回
                if (4 == xmlHttp.readyState)
                {
                    if(200 == xmlHttp.status)
                    {
                        //通過responseText屬性得到服務器端實際返回的文本
                        var isValid = xmlHttp.responseText;
                        //根據isValid的值決定lblNameMessage的顯示內容
                        lblMessage.innerHTML = (isValid.toLowerCase() == "true") ? "用戶名可用" : "用戶名已被註冊";
                    }
                }
                else
                {
                    lblMessage.innerHTML = "數據查詢中...";
                }
            }
        </script>
    </HEAD>
<body>
<form method="post" action="">
    <div>
        用戶名:
        <input type="text" id="txtUserName" name="txtUserName" οnblur="return checkUserName();"/>
        <span id="lblMessage"></span><br>
        密&nbsp;&nbsp;&nbsp;&nbsp;碼:
        <input type="password" id="txtPassword" name="txtPassword" /><br>
        <input type="submit" id="btnRegister" name="btnRegister" value="註冊" />
    </div>
</form>
</body>
</html>

 

CheckUserName.aspx.cs

C# codeusing System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class CheckUserName : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // 得到用戶選擇的用戶名
        string username = Request.QueryString["UserName"];//Request["UserName"]

        // 模擬驗證 實際應用中應查詢數據庫
        bool isValid = false;
        if (String.Compare(username, "amandag", true) != 0)
        {
            isValid = true;
        }

         Response.Clear();
        Response.ContentType = "text/html";
        Response.Write(isValid.ToString());
        Response.End();
        Response.Close();
    }
}

發佈了42 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章