Ajax驗(yàn)證用戶(hù)名或昵稱(chēng)是否已被注冊(cè)
JavaScript中XMLHttpRequest對(duì)象是整個(gè)Ajax技術(shù)的核心,它提供了異步發(fā)送請(qǐng)求的能力 。而用戶(hù)名或昵稱(chēng)的驗(yàn)證就可以使XMLHttpRequest對(duì)象實(shí)現(xiàn)。下面是個(gè)小例子。
頁(yè)面:
簡(jiǎn)單的輸入框
<body> 昵稱(chēng):<input type="text" name="username" ><span id="msg">請(qǐng)輸入昵稱(chēng)</span><br> 密碼:<input type="password" name="password"> </body>
JS代碼如下:
window.onload=function() { var nameElement=document.getElementsByName("username")[0]; //為昵稱(chēng)選項(xiàng)注冊(cè)onblur事件 nameElement.onblur=function() { var name=this.value; //1.獲取XMLHttpRequest對(duì)象 var req=getXMLHttpRequest(); //4.處理響應(yīng)結(jié)果 req.onreadystatechange=function(){ if(req.readyState==4){//XMLHttpRequest對(duì)象讀取成功 if(req.status==200){//服務(wù)器相應(yīng)正常 var msg=document.getElementById("msg"); //根據(jù)返回的結(jié)果顯示不同的信息 if(req.responseText=="true"){ msg.innerHTML="<font color='red'>該昵稱(chēng)已注冊(cè)</font>"; }else{ msg.innerHTML="<font color='green'>可以使用</font>"; } } } } //2.建立一個(gè)連接 req.open("get","${pageContext.request.contextPath}/servlet/checkUserServlet?name="+name); //3.發(fā)送get請(qǐng)求 req.send(null); } }
getElementsByName方法,根據(jù)瀏覽器的不同獲得不同的XMLHttpRequest對(duì)象(提供異步發(fā)送請(qǐng)求的能力):
function getXMLHttpRequest(){ var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp; }
servlet:僅僅為了測(cè)試,并沒(méi)有真正從dao層查詢(xún)
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter pw=response.getWriter(); String name=request.getParameter("name"); //判斷昵稱(chēng)是否已被使用 if("tom".equals(name)){ pw.print(true); }else{ pw.print(false); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
測(cè)試:
由于在servlet中我們只驗(yàn)證tom是否存在,所以tom顯示已使用。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- jquery+ajax實(shí)現(xiàn)注冊(cè)實(shí)時(shí)驗(yàn)證實(shí)例詳解
- 用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶(hù)名驗(yàn)證的簡(jiǎn)單實(shí)例
- PHP+Ajax異步通訊實(shí)現(xiàn)用戶(hù)名郵箱驗(yàn)證是否已注冊(cè)( 2種方法實(shí)現(xiàn))
- Asp.net下利用Jquery Ajax實(shí)現(xiàn)用戶(hù)注冊(cè)檢測(cè)(驗(yàn)證用戶(hù)名是否存)
- Ajax注冊(cè)用戶(hù)時(shí)實(shí)現(xiàn)表單驗(yàn)證
- ajax對(duì)注冊(cè)名進(jìn)行驗(yàn)證檢測(cè)是否存在于數(shù)據(jù)庫(kù)中
- AJAX+JAVA用戶(hù)登陸注冊(cè)驗(yàn)證的實(shí)現(xiàn)代碼
- asp ajax注冊(cè)驗(yàn)證之 防止用戶(hù)名輸入空格
- 使用struts2+Ajax+jquery驗(yàn)證用戶(hù)名是否已被注冊(cè)
- AJAX實(shí)現(xiàn)注冊(cè)驗(yàn)證用戶(hù)名
相關(guān)文章
Js操作樹(shù)節(jié)點(diǎn)自動(dòng)折疊展開(kāi)的幾種方法
這篇文章主要介紹了Js操作樹(shù)節(jié)點(diǎn)自動(dòng)折疊展開(kāi)的幾種方法,需要的朋友可以參考下2014-05-05微信小程序通過(guò)點(diǎn)擊事件傳參(data-)的操作示例
微信小程序可以通過(guò)直接寫(xiě) data-index="1" 進(jìn)行數(shù)據(jù)的綁定 ,利用 bindtap 點(diǎn)擊事件執(zhí)行函數(shù)從而獲取到參數(shù)信息,本文給大家介紹微信小程序通過(guò)點(diǎn)擊事件傳參(data-)的操作,感興趣的朋友一起看看吧2023-12-12JS數(shù)字千分位格式化實(shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了JS數(shù)字千分位格式化實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了JS實(shí)現(xiàn)數(shù)字千分位格式化的常用技巧,包括字符串的分割、拼接、遍歷及正則操作等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-12-12談?wù)処ntersectionObserver懶加載的具體使用
這篇文章主要介紹了談?wù)処ntersectionObserver懶加載的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10微信小程序全局變量的設(shè)置、使用、修改過(guò)程解析
這篇文章主要介紹了微信小程序全局變量的設(shè)置、使用、修改過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法
這篇文章主要介紹了小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05