AJAX檢測用戶名是否存在的方法
本文實例為大傢分享瞭AJAX檢測用戶名是否存在的具體代碼,供大傢參考,具體內容如下
vscode:
index:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2>用戶註冊</h2> <form action="/doreg" method="post"> <ul> <li>用戶名:<input type="text" name="username" id="user"><span id="msg"></span></li> <li>密碼:<input type="text" name="pwd"></li> <li>確認密碼:<input type="text" name="repwd"></li> <li><input type="submit" value="註冊"></li> </ul> </form> <script> let user = document.querySelector("#user") let msg = document.querySelector("#msg") user.onblur = function(){ // alert("hello") // 第一步:創建一個ajax對象 let xhr = new XMLHttpRequest(); // xhr表示ajax對象 此時ajax的狀態是0 // console.log(xhr.readyState) // 第二步:和服務器建立連接 get表示需要把數據放在url中 xhr.open("get","/check?username="+user.value)// 此時ajax的狀態是1 // console.log(xhr.readyState) // 第三步:發出請求 xhr.send(null); // null表示請求體是空 get請求的請求體都是空 post請求的請求體不空 // 第四步:得到服務器響應的結果 監聽ajax狀態變化 xhr.onreadystatechange = function () { // 當狀態發生改變,就會觸發onreadystatechange事件 // console.log(xhr.readyState); // xhr.readyState獲取ajax對象的狀態 if(xhr.readyState === 4 && xhr.status == 200){ // xhr.responseText 獲取服務器響應的數據 // console.log(xhr.responseText) msg.innerHTML = xhr.responseText; } } } </script> </body> </html>
JS:
let express = require("express"); let bodyParser = require("body-parser"); let app = express(); // 給ejs模板引擎設置別名,別名叫html app.engine("html",require("ejs").__express); app.set("view engine","html");// 使用html模板引擎 // 指定模板的存放位置 app.set("views","./views") // 配置bodyParser app.use(bodyParser.json()) app.use(bodyParser.urlencoded({extended:false})) // 路由 app.get("/",(req,res)=>{ res.render("reg01"); // 渲染模塊 }) // 處理註冊 app.post("/doreg",(req,res)=>{ // 獲取客戶端傳遞的數據 let username = req.body.username.trim(); let pwd = req.body.pwd.trim(); let repwd = req.body.repwd.trim(); // console.log(username,pwd,repwd) // 模擬從數據庫中獲取的用戶信息 let users = ["wangcai","xiaoqiang","admin"]; if(users.find(user=>user===username)){ res.send("<h1 style='color: red'>對不起,該用戶名已經被註冊瞭,請換個用戶名~<a href='/'>返回註冊頁</a></h1>") }else{ res.send("<h1 style='color: green'>恭喜你,該用戶名可以使用~<a href='/'>返回註冊頁</a></h1>") } }) app.listen(3000,()=>{ console.log("server is running on 3000~") })
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- nodejs獲取表單數據的三種方法實例
- nodeJS express路由學習req.body與req.query方法實例詳解
- 利用promise及參數解構封裝ajax請求的方法
- Ajax異步刷新功能及簡單案例
- ajax在js中和jQuery中的用法實例詳解