亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

xmlHttpRequest實踐之無刷新驗證用戶名

2024-09-05 20:55:07
字體:
來源:轉載
供稿:網友

現在好多網站上的注冊都用了無刷新驗證用戶名,這種效果咋看感覺很復雜很難實現,其實它里面用到了Ajax中的核心xmlHttpRequest這個類,如果只是單單想實現這個效果,壓根就不用引用Ajax.Net中的組件,因為感覺有點大材小用,下面是具體實現這種效果的方法,希望能給初學Ajax的朋友帶來一點幫助.




首先建立一個注冊與驗證的頁面xmlHttpRequest.aspxValidate.aspx,因為僅僅是實現無刷新驗證用戶名,所以我們可以把其它項都撇開,Register.aspx中擺好div跟控件,具體如下:

Code
<body>
<form id="form1" runat="server">
<div style="width: 100%; float: left; text-indent: 24px; font-size:12px">
<div style="float:left">
您的用戶名:<asp:TextBox ID="txtUserName" runat="server" style="border:1px solid #D4D8D9" onblur="return ValidateUser();"></asp:TextBox>
</div> <div id="default" ></div>
</div>
</form>
</body>
然后我們可以寫兩個樣式用于用戶名通過驗證或未通過驗證的顯示樣式,未加入圖片.

Css
.Error{ border:1px solid #A2553B;background-color:#FEF1E1;width:140px;float:left;height:18px;line-height:18px;margin-left:24px;color:#4F4F4F;text-indent:12px;}
.Right{ border:1px solid #419041;background-color:#EDFCE7;width:140px;float:left;height:18px;line-height:18px;margin-left:24px;color:#4F4F4F;text-indent:12px;}

這兩個樣式你可以把它放到樣式表中也可以將它放到<head></head>當中.
接下來只需敲一段腳本到注冊的xmlHttpRequest.aspx頁面去.
腳本
<script language="javascript" type="text/javascript">
function ValidateUser()
{
//獲得用于顯示驗證是否通過的詳細信息
var obj=document.getElementById("default");
//獲取用戶輸入的用戶名的值
var str=document.getElementById("txtUserName").value;
//定義一個bool型變量
var chk=true;
if (chk){
//因為輸入的用戶名可能含有中文,所以將其解碼
var username=escape(str);
//用于驗證用戶名的后臺頁面
var usrurl="/Validate.aspx?UserName="+username;
//獲取從驗證頁面中異步傳輸過來的值
var sta=GetResponseText(usrurl);
//如果異步傳輸失敗
if(sta==false){
chk=true;
obj.className="d_ok";
obj.innerHTML='該會員未能檢測,可以嘗試注冊。';
}
//異步傳輸成功
else{
//假如傳過來的值的開始位置是"regok",這個值是在驗證頁面Response.Write出來的值,如果是regok則表示驗證通過,否則的話就是驗證失敗.
if(sta.indexOf("regok")!=-1){
//驗證通過
chk=true;
//用于顯示驗證是否通過的詳細信息加上剛剛所定義正確時的樣式
obj.className="Right";
obj.innerHTML='該會員名可以注冊。';
}else{
//驗證未通過
chk=false;
//用于顯示驗證是否通過的詳細信息加上剛剛所定義錯誤時的樣式
obj.className="Error";
obj.innerHTML='該會員名已經被注冊。';
}
}
}else{
obj.className="Error";
}
return chk;
}
function GetResponseText(url)
{
//定義一個http_request變量
var http_request;
if (window.XMLHttpRequest) {
//對于Mozilla、Netscape、Safari等瀏覽器,創建XMLHttpRequest對象
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
//如果服務器響應的header不是text/xml,可以調用其它方法修改該header
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
// 對于Internet Explorer瀏覽器,創建XMLHttpRequest
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
//打開驗證頁面的地址
http_request.open('GET', url, false);
http_request.send(null);
if (http_request.readyState == 4)
   {
   // 收到完整的服務器響應
   if (http_request.status == 200) {
   //HTTP服務器響應的值OK
     var requestdoc = http_request.ResponseText;
}
    else {
     requestdoc = "error";
    }
   }
return requestdoc;
}
</script>

核心代碼:
http_request.ResponseText這句是用于獲取驗證用戶名頁面中異步傳輸過來的值..
上面的代碼做了詳細的注釋,這里就不多做解釋了..
接下來驗證用戶名的頁面中接收傳過來的值進行判斷了...
Code
1 public partial class Validate : System.Web.UI.Page
2 {
3 //獲取url傳過來的值
4 private string UserName
5 {
6 get { return Request.QueryString["UserName"].ToString(); }
7 }
8 protected void Page_Load(object sender, EventArgs e)
9 {
10 //這里你可以連至用戶表檢查是否存在這個用戶名,當然如果你用membership中的驗證方法會更簡潔.
11 if (Server.HtmlEncode(UserName) =="123456")
12 //還記得腳本中的if(sta.indexOf("regok")!=-1)這句嗎,regok就是這里的啦..
13 Response.Write("regok");
14 else
15 Response.Write("error");
16 }
17 }

就這樣一個簡單的無刷新驗證用戶就完成啦...本機測試已通過.呵呵剛好最近一直在學習控件開發,下篇就將其封裝成一個控件.
 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文字幕国产精品| 色婷婷av一区二区三区在线观看| 欧美做受高潮1| 亚洲天堂网站在线观看视频| 亚洲成avwww人| 久久免费在线观看| 日韩成人av一区| 岛国精品视频在线播放| 中国人与牲禽动交精品| 一本大道香蕉久在线播放29| 26uuu亚洲伊人春色| 国产丝袜一区二区三区| 久久久电影免费观看完整版| 欧美国产极速在线| 久久男人av资源网站| 国产视频精品一区二区三区| 欧美一级免费看| 日本高清+成人网在线观看| 久久精品99无色码中文字幕| 亚洲精品久久久久中文字幕二区| 亚洲香蕉成视频在线观看| 91亚洲精品久久久| 亚洲国产日韩欧美在线动漫| 国产精品视频一区国模私拍| 精品中文字幕视频| 日韩av免费在线播放| 亚洲理论在线a中文字幕| 亚洲成年人影院在线| 中文在线不卡视频| 亲子乱一区二区三区电影| 日韩在线免费观看视频| 亚洲国产婷婷香蕉久久久久久| 亚洲国产精品悠悠久久琪琪| 亚洲第一视频在线观看| 26uuu日韩精品一区二区| 成人久久一区二区三区| 狠狠色噜噜狠狠狠狠97| 成人av在线天堂| 国产精品入口免费视频一| 亚洲精品电影网在线观看| 亚洲精品720p| 国产97人人超碰caoprom| 国产成人a亚洲精品| 亚洲伦理中文字幕| 在线成人激情视频| 亚洲精品在线91| 美乳少妇欧美精品| 91性高湖久久久久久久久_久久99| 亚洲91精品在线观看| 91精品国产免费久久久久久| 国产成人自拍视频在线观看| 国产成人一区二区三区电影| 色妞欧美日韩在线| 亚洲第一网站男人都懂| 狠狠综合久久av一区二区小说| 国产精品中文字幕在线观看| 国产精品免费看久久久香蕉| 精品久久久av| 久久国产加勒比精品无码| 成人春色激情网| 国产精品国产三级国产aⅴ9色| 欧美性xxxx极品hd欧美风情| 成人免费视频xnxx.com| 国产精品欧美激情| 综合久久五月天| 国产精品白嫩初高中害羞小美女| 久久久www成人免费精品张筱雨| 日韩精品亚洲精品| 国产精品美女网站| 欧美电影免费观看高清| 亚洲精品小视频| 欧美日韩亚洲激情| 色综合久久久888| 成人妇女淫片aaaa视频| 一区二区欧美亚洲| 亚洲影院色在线观看免费| 久久韩剧网电视剧| 97香蕉超级碰碰久久免费的优势| 2021国产精品视频| 欧美高清videos高潮hd| 91久久精品国产91性色| 精品视频久久久久久久| 91免费欧美精品| 国产精品久久久久久久久久三级| 欧美日韩加勒比精品一区| 日韩精品小视频| 亚洲va电影大全| 欧美专区在线播放| 欧美猛交免费看| 亚洲成人性视频| 亚洲一区二区三区四区视频| 成人免费观看49www在线观看| 韩国v欧美v日本v亚洲| 欧美电影在线观看网站| 性亚洲最疯狂xxxx高清| 国产欧美在线看| 久久久久久中文字幕| 91精品在线国产| 欧美日韩精品国产| 欧美理论电影在线播放| 久久99久久99精品中文字幕| 高潮白浆女日韩av免费看| 国产成人久久久精品一区| 欧美老女人性生活| 欧美性猛交xxxx乱大交3| 伊人精品在线观看| 午夜精品美女自拍福到在线| 精品久久久久久久久久ntr影视| 8x拔播拔播x8国产精品| 国产热re99久久6国产精品| 久久久中精品2020中文| 欧美电影第一页| 亚洲男人的天堂在线播放| 色播久久人人爽人人爽人人片视av| 人人澡人人澡人人看欧美| 清纯唯美亚洲激情| 欧美成人午夜激情视频| 免费不卡在线观看av| 欧美激情视频网站| 亚洲日韩欧美视频| 日韩av网站在线| 欧美日产国产成人免费图片| 国产精品老牛影院在线观看| 久久亚洲精品毛片| 亚洲欧美日韩久久久久久| 国产亚洲精品久久久久久牛牛| 岛国av一区二区在线在线观看| 亚洲综合一区二区不卡| 中文字幕成人精品久久不卡| 国产中文字幕91| 性金发美女69hd大尺寸| 欧美激情网友自拍| 国产在线视频2019最新视频| 91色视频在线导航| 日本亚洲精品在线观看| 亚洲乱码国产乱码精品精天堂| 国产欧美精品xxxx另类| 国产精品久久久av久久久| 欧美电影免费观看大全| 久久久久久久久电影| 亚洲精品日韩丝袜精品| 欧美黑人视频一区| 亚洲一级黄色av| 国产极品精品在线观看| 欧美激情第三页| 欧美三级欧美成人高清www| 一本一本久久a久久精品牛牛影视| 中文字幕精品国产| 欧美精品videosex极品1| 久久免费成人精品视频| 视频在线观看99| 欧美另类在线播放| 国产精品96久久久久久| 91高清在线免费观看| www.国产一区| 国产精品福利无圣光在线一区| 欧美日韩国产精品一区二区三区四区| 中文字幕日韩电影| 欧美片一区二区三区| 国外色69视频在线观看| 亚洲人成电影在线播放| 久久久久久久成人| 欧美成人高清视频| 夜夜嗨av一区二区三区免费区|