AJAX檢測用戶名是否存在的方法
本文實例為大家分享了ajax檢測用戶名是否存在的具體代碼,供大家參考,具體內(nèi)容如下
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"></li> <li>密碼:<input type="text" name="pwd"></li> <li>確認(rèn)密碼:<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") // 第一步:創(chuàng)建一個ajax對象 let xhr = new xmlhttprequest(); // xhr表示ajax對象 此時ajax的狀態(tài)是0 // console.log(xhr.readystate) // 第二步:和服務(wù)器建立連接 get表示需要把數(shù)據(jù)放在url中 xhr.open("get","/check?username="+user.value)// 此時ajax的狀態(tài)是1 // console.log(xhr.readystate) // 第三步:發(fā)出請求 xhr.send(null); // null表示請求體是空 get請求的請求體都是空 post請求的請求體不空 // 第四步:得到服務(wù)器響應(yīng)的結(jié)果 監(jiān)聽ajax狀態(tài)變化 xhr.onreadystatechange = function () { // 當(dāng)狀態(tài)發(fā)生改變,就會觸發(fā)onreadystatechange事件 // console.log(xhr.readystate); // xhr.readystate獲取ajax對象的狀態(tài) if(xhr.readystate === 4 && xhr.status == 200){ // xhr.responsetext 獲取服務(wù)器響應(yīng)的數(shù)據(jù) // 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模板引擎設(shè)置別名,別名叫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)=>{ // 獲取客戶端傳遞的數(shù)據(jù) let username = req.body.username.trim(); let pwd = req.body.pwd.trim(); let repwd = req.body.repwd.trim(); // console.log(username,pwd,repwd) // 模擬從數(shù)據(jù)庫中獲取的用戶信息 let users = ["wangcai","xiaoqiang","admin"]; if(users.find(user=>user===username)){ res.send("<h1 style='color: red'>對不起,該用戶名已經(jīng)被注冊了,請換個用戶名~<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~") })
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持碩編程。