欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ajax異步檢查用戶名是否存在

 更新時(shí)間:2017年11月24日 10:45:55   作者:劉水鏡  
這篇文章主要為大家詳細(xì)介紹了Ajax異步檢查用戶名是否存在的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在任何網(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ā)檢查方法。

復(fù)制代碼 代碼如下:
<input name="userId" type="text" id="userId" size="10" maxlength="10"  value="<%=userId %>" onblur="validate(this)">
 

效果圖


關(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)吧!

相關(guān)文章

最新評(píng)論