測試通過環境VS2008,添加2個新項
1:DEMO3.ASPX
複製代碼 代碼如下://查詢字串,SEND服務端的參數
function createQueryString() {
var userName = document.getElementById("userName").value;
var querystring = "userName=" + userName;
return querystring;
}
function RunAjax() {
//參考'摘自書中有意義的樣本中DEMO1.HTML如何建立XMLHttpRequest對象 代碼'
createXMLHttpRequest();
var queryString = "IsHaveUser.ashx?";
queryString = queryString + createQueryString()
+ "&timeStamp=" + new Date().getTime();//URL上追加時間戳記,防止瀏覽器緩衝
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
document.getElementById('validateMessage').innerText = '正在檢查,請稍候...';
}
function handleStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var result = xmlHttp.responseText;
document.getElementById("validateMessage").innerText = result;
if (result== "恭喜!可以註冊...") {
setTimeout("document.getElementById('validateMessage').innerText='';", 2000);
}
}
}
}
<input id="userName" /><input id="IsHaveUser" type="button" value="檢查使用者是否被註冊" onclick="RunAjax();"/><span id="validateMessage" ></span>
2:IsHaveUser處理常式 複製代碼 代碼如下:public class IsHaveUser : IHttpHandler {
public void ProcessRequest (HttpContext context) {
System.Threading.Thread.Sleep(2000);
string userName = context.Request.QueryString["userName"];
bool result = 讀取資料庫執行判斷使用者名稱是否存在操作,返回布爾值,省略代碼
if (result)
{
context.Response.Write("恭喜!可以註冊...");
}
else { context.Response.Write("此使用者存在,請更換..."); }
}
public bool IsReusable { get { return false;}}
}