AJAX检测用户名是否存在的方法


Posted in Javascript onMarch 24, 2021
<!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>
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~")
})

 

Javascript 相关文章推荐
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
JS与C#编码解码
Dec 03 Javascript
JavaScript 实现鼠标拖动元素实例代码
Feb 24 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
jQuery实现点击水纹波动动画
Apr 10 Javascript
bootstrap table sum总数量统计实现方法
Oct 29 Javascript
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
js正则匹配markdown里的图片标签的实现
浅谈react路由传参的几种方式
Mar 23 #Javascript
一百多行代码实现react拖拽hooks
node中使用shell脚本的方法步骤
详解如何解决使用JSON.stringify时遇到的循环引用问题
vue 中 get / delete 传递数组参数方法
Mar 23 #Vue.js
JavaScript实现页面动态验证码的实现示例
You might like
php数字转汉字代码(算法)
2011/10/08 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
利用Python演示数型数据结构的教程
2015/04/03 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
python3.7 的新特性详解
2019/07/25 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
办公自动化毕业生求职信
2014/03/09 职场文书
取保候审保证书
2014/04/30 职场文书
建筑工地文明标语
2014/10/09 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
家电创业计划书
2019/08/05 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
Win10系统下配置Java环境变量
2021/06/13 Java/Android
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技