在任何網(wǎng)站注冊用戶的時候,都會檢查用戶是否已經(jīng)存在。很久以前的處理方式是將所有數(shù)據(jù)提交到服務(wù)器端進(jìn)行驗證,很顯然這種方式的用戶體驗很不好;后來有了Ajax,有了異步交互,當(dāng)用戶輸完用戶名繼續(xù)填寫其他信息的時候,Ajax就將信息發(fā)到了服務(wù)器去檢查該用戶名是否已經(jīng)被注冊了,這樣如果用戶名已經(jīng)存在,不用等用戶將所有數(shù)據(jù)都提交就可以給出提示。采用這種方式大大改善了用戶體驗,今天就一起跟大家聊聊這種交互方式。
下面是用JS獲取用戶Id然后將其發(fā)送給user_validate.jsp頁面,然后通過callback方法接收頁面返回的消息并通知用戶。
function validate(field) {
if (trim(field.value).length != 0) {
//創(chuàng)建Ajax核心對象XMLHttpRequest
createXMLHttpRequest();
var url = "user_validate.jsp?userId=" + trim(field.value) + "time=" + new Date().getTime();
//設(shè)置請求方式為GET,設(shè)置請求的URL,設(shè)置為異步提交
xmlHttp.open("GET", url, true);
//將方法地址復(fù)制給onreadystatechange屬性
//類似于電話號碼
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("請求失敗,錯誤碼=" + 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ā)檢查方法。
復(fù)制代碼 代碼如下:
input name="userId" type="text" id="userId" size="10" maxlength="10" value="%=userId %>" onblur="validate(this)">
效果圖
關(guān)于怎么根據(jù)用戶Id查詢是否已存在的代碼我就不給大家帖出來了,因為實在太簡單了,貼出來怕浪費(fèi)大家?guī)挕?/p>
做Web開發(fā)要更多的考慮用戶體驗,多運(yùn)用客戶端驗證(當(dāng)然為了安全還要進(jìn)行一次服務(wù)器驗證)和異步交互的方式可以有效提升用戶體驗。只有用戶用著舒心,用戶喜歡用我們做的東西,我們的勞動才有意義,我們的目標(biāo)就是讓用戶滿意。
細(xì)節(jié)決定成敗,頁面的各種提示都是很小的細(xì)節(jié),不要小看這些小細(xì)節(jié),做好了可以為你帶來更多的用戶;做的不好很可能讓用戶不再使用。程序猿們用心做好細(xì)節(jié),讓用戶愛上Web體驗吧!
您可能感興趣的文章:- jquery ajax 檢測用戶注冊時用戶名是否存在
- Ajax實現(xiàn)異步刷新驗證用戶名是否已存在的具體方法
- Ajax實時驗證用戶名/郵箱等是否已經(jīng)存在的代碼打包
- PHP+Ajax異步通訊實現(xiàn)用戶名郵箱驗證是否已注冊( 2種方法實現(xiàn))
- 基于jQuery實現(xiàn)的Ajax 驗證用戶名是否存在的實現(xiàn)代碼
- jsp+ajax實現(xiàn)無刷新(鼠標(biāo)離開文本框即驗證用戶名)實現(xiàn)思路
- PHP+AJAX實現(xiàn)無刷新注冊(帶用戶名實時檢測)
- ajax 檢測用戶名是否被占用
- Asp.net下利用Jquery Ajax實現(xiàn)用戶注冊檢測(驗證用戶名是否存)
- PHP+Ajax檢測用戶名或郵件注冊時是否已經(jīng)存在實例教程