Ajax異步檢查用戶名是否存在
在任何網(wǎng)站注冊(cè)用戶的時(shí)候,都會(huì)檢查用戶是否已經(jīng)存在。很久以前的處理方式是將所有數(shù)據(jù)提交到服務(wù)器端進(jìn)行驗(yàn)證,很顯然這種方式的用戶體驗(yàn)很不好;后來有了Ajax,有了異步交互,當(dāng)用戶輸完用戶名繼續(xù)填寫其他信息的時(shí)候,Ajax就將信息發(fā)到了服務(wù)器去檢查該用戶名是否已經(jīng)被注冊(cè)了,這樣如果用戶名已經(jīng)存在,不用等用戶將所有數(shù)據(jù)都提交就可以給出提示。采用這種方式大大改善了用戶體驗(yàn),今天就一起跟大家聊聊這種交互方式。
下面是用JS獲取用戶Id然后將其發(fā)送給user_validate.jsp頁面,然后通過callback方法接收頁面返回的消息并通知用戶。
function validate(field) { if (trim(field.value).length != 0) { //創(chuàng)建Ajax核心對(duì)象XMLHttpRequest createXMLHttpRequest(); var url = "user_validate.jsp?userId=" + trim(field.value) + "&time=" + new Date().getTime(); //設(shè)置請(qǐng)求方式為GET,設(shè)置請(qǐng)求的URL,設(shè)置為異步提交 xmlHttp.open("GET", url, true); //將方法地址復(fù)制給onreadystatechange屬性 //類似于電話號(hào)碼 xmlHttp.onreadystatechange=callback; //將設(shè)置信息發(fā)送到Ajax引擎 xmlHttp.send(null); } else { document.getElementById("spanUserId").innerHTML = ""; } } function callback() { //alert(xmlHttp.readyState); //Ajax引擎狀態(tài)為成功 if (xmlHttp.readyState == 4) { //HTTP協(xié)議狀態(tài)為成功 if (xmlHttp.status == 200) { if (trim(xmlHttp.responseText) != "") { //alert(xmlHttp.responseText); document.getElementById("spanUserId").innerHTML = "<font color='red'>" + xmlHttp.responseText + "</font>"; }else { document.getElementById("spanUserId").innerHTML = ""; } }else { alert("請(qǐng)求失敗,錯(cuò)誤碼=" + xmlHttp.status); } } }
user_validate.jsp頁面接收用戶Id并根據(jù)Id查詢是否已存在,如果存在返回,不存在什么也不返回。
<% String userId = request.getParameter("userId"); if(UserManager.getInstance().findUserById(userId) != null) { out.println("用戶代碼已經(jīng)存在"); } %>
當(dāng)光標(biāo)離開用戶代碼文本框觸發(fā)檢查方法。
效果圖
關(guān)于怎么根據(jù)用戶Id查詢是否已存在的代碼我就不給大家帖出來了,因?yàn)閷?shí)在太簡(jiǎn)單了,貼出來怕浪費(fèi)大家?guī)挕?/p>
做Web開發(fā)要更多的考慮用戶體驗(yàn),多運(yùn)用客戶端驗(yàn)證(當(dāng)然為了安全還要進(jìn)行一次服務(wù)器驗(yàn)證)和異步交互的方式可以有效提升用戶體驗(yàn)。只有用戶用著舒心,用戶喜歡用我們做的東西,我們的勞動(dòng)才有意義,我們的目標(biāo)就是讓用戶滿意。
細(xì)節(jié)決定成敗,頁面的各種提示都是很小的細(xì)節(jié),不要小看這些小細(xì)節(jié),做好了可以為你帶來更多的用戶;做的不好很可能讓用戶不再使用。程序猿們用心做好細(xì)節(jié),讓用戶愛上Web體驗(yàn)吧!
- jquery ajax 檢測(cè)用戶注冊(cè)時(shí)用戶名是否存在
- Ajax實(shí)現(xiàn)異步刷新驗(yàn)證用戶名是否已存在的具體方法
- Ajax實(shí)時(shí)驗(yàn)證用戶名/郵箱等是否已經(jīng)存在的代碼打包
- PHP+Ajax異步通訊實(shí)現(xiàn)用戶名郵箱驗(yàn)證是否已注冊(cè)( 2種方法實(shí)現(xiàn))
- 基于jQuery實(shí)現(xiàn)的Ajax 驗(yàn)證用戶名是否存在的實(shí)現(xiàn)代碼
- jsp+ajax實(shí)現(xiàn)無刷新(鼠標(biāo)離開文本框即驗(yàn)證用戶名)實(shí)現(xiàn)思路
- PHP+AJAX實(shí)現(xiàn)無刷新注冊(cè)(帶用戶名實(shí)時(shí)檢測(cè))
- ajax 檢測(cè)用戶名是否被占用
- Asp.net下利用Jquery Ajax實(shí)現(xiàn)用戶注冊(cè)檢測(cè)(驗(yàn)證用戶名是否存)
- PHP+Ajax檢測(cè)用戶名或郵件注冊(cè)時(shí)是否已經(jīng)存在實(shí)例教程
相關(guān)文章
ajax jquery校驗(yàn)用戶是否已經(jīng)注冊(cè)演示代碼
用戶是否已經(jīng)注冊(cè)的判斷方法有很多,在本文將為大家詳細(xì)介紹下如何使用ajax jquery來實(shí)現(xiàn),感興趣的朋友可以參考下2013-10-10js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請(qǐng)求實(shí)例
這篇文章主要介紹了js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請(qǐng)求,以實(shí)例形式分別講述了采用純js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請(qǐng)求的方法,并對(duì)Ajax中出現(xiàn)的亂碼問題進(jìn)行了一定的分析,需要的朋友可以參考下2014-11-11AJAX實(shí)現(xiàn)鼠標(biāo)經(jīng)過彈出詳細(xì)介紹示例
鼠標(biāo)經(jīng)過彈出詳細(xì)內(nèi)容的效果想必大家都有見到過吧,其實(shí)很簡(jiǎn)單,在本文為大家介紹下使用ajax實(shí)現(xiàn)此效果,感興趣的朋友可以參考下2013-09-09找到一款不錯(cuò)的基于AJAX留言板源碼(PHP版、ASP版)提供下載了
找到一款不錯(cuò)的基于AJAX留言板源碼(PHP版、ASP版)提供下載了...2007-09-09簡(jiǎn)單實(shí)現(xiàn)Ajax無刷新分頁效果
這篇文章主要為大家詳細(xì)介紹了簡(jiǎn)單實(shí)現(xiàn)Ajax無刷新分頁效果的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Ajax上傳實(shí)現(xiàn)根據(jù)服務(wù)器端返回?cái)?shù)據(jù)進(jìn)行js處理的方法
這篇文章主要介紹了Ajax上傳實(shí)現(xiàn)根據(jù)服務(wù)器端返回?cái)?shù)據(jù)進(jìn)行js處理的方法,實(shí)例分析了Ajax請(qǐng)求及java處理并返回服務(wù)器端數(shù)據(jù)請(qǐng)求的相關(guān)技巧2015-07-07