asp.net XMLHttpRequest實現用戶注冊前的驗證
更新時間:2009年10月14日 14:51:05 作者:
用戶注冊前的驗證,提高用戶體驗。
測試通過環(huán)境VS2008,添加2個新項
1:DEMO3.ASPX
//查詢字符串,SEND服務端的參數
function createQueryString() {
var userName = document.getElementById("userName").value;
var querystring = "userName=" + userName;
return querystring;
}
function RunAjax() {
//參考'摘自書中有意義的示例中DEMO1.HTML如何創(chuàng)建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 = 讀取數據庫執(zhí)行判斷用戶名是否存在操作,返回布爾值,省略代碼
if (result)
{
context.Response.Write("恭喜!可以注冊...");
}
else { context.Response.Write("此用戶存在,請更換..."); }
}
public bool IsReusable { get { return false;}}
}
1:DEMO3.ASPX
復制代碼 代碼如下:
//查詢字符串,SEND服務端的參數
function createQueryString() {
var userName = document.getElementById("userName").value;
var querystring = "userName=" + userName;
return querystring;
}
function RunAjax() {
//參考'摘自書中有意義的示例中DEMO1.HTML如何創(chuàng)建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 = 讀取數據庫執(zhí)行判斷用戶名是否存在操作,返回布爾值,省略代碼
if (result)
{
context.Response.Write("恭喜!可以注冊...");
}
else { context.Response.Write("此用戶存在,請更換..."); }
}
public bool IsReusable { get { return false;}}
}
相關文章
Visual Studio 2017通過SSH調試Linux上.NET Core
這篇文章主要為大家詳細介紹了Visual Studio 2017通過SSH調試Linux 上.NET Core的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
用ASP.NET做的個性化的郵件發(fā)送系統(tǒng)
如果要你用ASP來做一個郵件發(fā)送系統(tǒng),你一定認為這是一個比較復雜的工作。其實也的確是這樣。但當他的后繼產品ASP.NET被推出以后,他的強大功能就使的這一切就變的相對簡單了。真的這樣神奇么?我們就通過ASP.NET做一個郵件發(fā)送系統(tǒng),看看到底有什么奧秘,是不是真的簡單。2008-02-02
IE下document.referrer 拒絕訪問的解決方法
原理就是給IE瀏覽器的頁面偷偷加了個鏈接,然后自動點這個鏈接,于是referrer就能保留了,感興趣的朋友可以參考下2013-09-09
asp.net Parameters.AddWithValue方法在SQL語句的 Where 字句中的用法
今天晚上看論壇,有人提問說,Parameters.AddWithValue方法在有些情況下不好使2009-01-01

