首頁 web前端 js教程 怎麼用Ajax非同步檢查使用者名稱有無重複

怎麼用Ajax非同步檢查使用者名稱有無重複

Mar 30, 2018 pm 04:55 PM
ajax 檢查

這次帶給大家怎樣用Ajax異步檢查用戶名有無重複,用Ajax異步檢查用戶名有無重複的注意事項有哪些,下面就是實戰案例,一起來看一下。

在任何網站註冊使用者的時候,都會檢查使用者是否已經存在。很久以前的處理方式是將所有資料提交到伺服器端進行驗證,很顯然這種方式的用戶體驗很不好;後來有了Ajax,有了異步交互,當用戶輸完用戶名繼續填寫其他資訊的時候,Ajax就將資訊發到了伺服器去檢查該用戶名是否已經被註冊了,這樣如果用戶名已經存在,不用等用戶將所有數據都提交就可以給出提示。採用這種方式大大改善了使用者體驗,今天就一起跟大家聊聊這種互動方式。

下面是用JS取得使用者Id然後將其傳送給user_validate.jsp頁面,然後透過callback方法接收頁面傳回的訊息並通知使用者。

function validate(field) { 
  if (trim(field.value).length != 0) { 
    //创建Ajax核心对象XMLHttpRequest 
    createXMLHttpRequest(); 
     
    var url = "user_validate.jsp?userId=" + trim(field.value) + "&time=" + new Date().getTime(); 
     
    //设置请求方式为GET,设置请求的URL,设置为异步提交 
    xmlHttp.open("GET", url, true); 
     
    //将方法地址复制给onreadystatechange属性 
    //类似于电话号码 
    xmlHttp.onreadystatechange=callback; 
     
    //将设置信息发送到Ajax引擎 
    xmlHttp.send(null); 
  } else { 
    document.getElementById("spanUserId").innerHTML = ""; 
  } 
} 
 
function callback() { 
  //alert(xmlHttp.readyState); 
  //Ajax引擎状态为成功 
  if (xmlHttp.readyState == 4) { 
    //HTTP协议状态为成功 
    if (xmlHttp.status == 200) { 
      if (trim(xmlHttp.responseText) != "") { 
        //alert(xmlHttp.responseText); 
        document.getElementById("spanUserId").innerHTML = "<font color=&#39;red&#39;>" + xmlHttp.responseText + "</font>"; 
      }else { 
        document.getElementById("spanUserId").innerHTML = ""; 
      } 
    }else { 
      alert("请求失败,错误码=" + xmlHttp.status); 
    } 
  } 
}
登入後複製

user_validate.jsp頁面接收使用者Id並根據Id查詢是否已存在,如果存在傳回,不存在什麼也不回傳。

<% 
  String userId = request.getParameter("userId"); 
  if(UserManager.getInstance().findUserById(userId) != null) { 
    out.println("用户代码已经存在"); 
  } 
%>
登入後複製

當遊標離開使用者代碼文字方塊觸發檢查方法。

複製程式碼 程式碼如下:

效果圖

關於怎麼根據用戶Id查詢是否已存在的程式碼我就不給大家貼文出來了,因為實在太簡單了,貼出來怕浪費大家頻寬。

做Web開發要更多的考慮使用者體驗,多運用客戶端驗證(當然為了安全還要進行一次伺服器驗證)和非同步互動的方式可以有效提升使用者體驗。只有使用者用著舒心,使用者喜歡用我們做的東西,我們的勞動才有意義,我們的目標就是讓使用者滿意。

細節決定成敗,頁面的各種提示都是很小的細節,不要小看這些小細節,做好了可以為你帶來更多的用戶;做的不好很可能讓用戶不再使用。程式猿們用心做好細節,讓使用者愛上Web體驗吧!

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

在ajax中用josnp接收josn資料步驟詳解

前端ajax請求的優雅方案怎麼實作

以上是怎麼用Ajax非同步檢查使用者名稱有無重複的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

拼字檢查在團隊中不起作用[修復] 拼字檢查在團隊中不起作用[修復] Mar 06, 2024 am 09:10 AM

我們已經開始注意到,有時拼字檢查停止工作的團隊。拼字檢查是有效溝通的基本工具,任何對它的打擊都會對工作流程造成相當大的破壞。在本文中,我們將探討拼字檢查可能無法如預期運作的常見原因,以及如何將其恢復到先前的狀態。所以,如果拼字檢查在團隊中不起作用,請遵循本文中提到的解決方案。為什麼Microsoft拼字檢查不起作用? Microsoft拼字檢查無法正常運作可能有多種原因。這些原因包括不相容的語言設定、拼字檢查功能被停用、MSTeam或MSOffice安裝損壞等。另外,過時的MSTeams和MSOf

解決jQuery AJAX請求遇到403錯誤的方法 解決jQuery AJAX請求遇到403錯誤的方法 Feb 20, 2024 am 10:07 AM

標題:解決jQueryAJAX請求出現403錯誤的方法及程式碼範例403錯誤是指伺服器禁止存取資源的請求,通常會導致出現這個錯誤的原因是請求缺少權限或被伺服器拒絕。在進行jQueryAJAX請求時,有時會遇到這種情況,本文將介紹如何解決這個問題,並提供程式碼範例。解決方法:檢查權限:首先要確保請求的URL位址是正確的,同時驗證是否有足夠的權限來存取該資

解決jQuery AJAX請求403錯誤的方法 解決jQuery AJAX請求403錯誤的方法 Feb 19, 2024 pm 05:55 PM

jQuery是一個受歡迎的JavaScript函式庫,用來簡化客戶端端的開發。而AJAX則是在不重新載入整個網頁的情況下,透過發送非同步請求和與伺服器互動的技術。然而在使用jQuery進行AJAX請求時,有時會遇到403錯誤。 403錯誤通常是伺服器禁止存取的錯誤,可能是由於安全性原則或權限問題導致的。在本文中,我們將討論如何解決jQueryAJAX請求遭遇403錯誤

Windows11中如何檢查 SSD 運作狀況? Win11上檢查 SSD 運作狀況的方法 Windows11中如何檢查 SSD 運作狀況? Win11上檢查 SSD 運作狀況的方法 Feb 14, 2024 pm 08:21 PM

Windows11中如何檢查SSD運作狀況?對於其快速的讀取、寫入和存取速度,SSD正在迅速取代HDD,但即使它們更可靠,您仍然需要在Windows11中檢查SSD的運作狀況。怎麼去操作呢?本篇教學小編就來為大家分享一下方法吧。方法一:使用WMIC1、使用按鍵組合Win+R,鍵入wmic,然後按或按一下「確定」。 Enter2、現在,鍵入或貼上以下命令以檢查SSD運行狀況:diskdrivegetstatus如果您收到「狀態:正常」訊息,則您的SSD驅動器運行正

Golang中如何檢查字串是否以特定字元開頭? Golang中如何檢查字串是否以特定字元開頭? Mar 12, 2024 pm 09:42 PM

Golang中如何檢查字串是否以特定字元開頭?在使用Golang程式設計時,經常會遇到需要檢查一個字串是否以特定字元開頭的情況。針對這項需求,我們可以使用Golang中的strings套件所提供的函數來實現。接下來將詳細介紹如何使用Golang檢查字串是否以特定字元開頭,並附上具體的程式碼範例。在Golang中,我們可以使用strings套件中的HasPrefix

如何使用Ajax從PHP方法取得變數? 如何使用Ajax從PHP方法取得變數? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法取得變數是Web開發中常見的場景,透過Ajax可以實作頁面無需刷新即可動態取得資料。在本文中,將介紹如何使用Ajax從PHP方法中取得變量,並提供具體的程式碼範例。首先,我們需要寫一個PHP檔案來處理Ajax請求,並傳回所需的變數。下面是一個簡單的PHP檔案getData.php的範例程式碼:

如何解決jQuery AJAX報錯403的問題? 如何解決jQuery AJAX報錯403的問題? Feb 23, 2024 pm 04:27 PM

如何解決jQueryAJAX報錯403的問題?在開發網頁應用程式時,經常會使用jQuery來發送非同步請求。然而,有時在使用jQueryAJAX時可能會遇到錯誤代碼403,表示伺服器禁止存取。這種情況通常是由伺服器端的安全性設定所導致的,但可以透過一些方法來解決這個問題。本文將介紹如何解決jQueryAJAX報錯403的問題,並提供具體的程式碼範例。一、使

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

See all articles