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 相关文章推荐
javascript编程起步(第二课)
Jan 10 Javascript
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
潜说js对象和数组
May 25 Javascript
javascript获取四位数字或者字母的随机数
Jan 09 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
浅谈React深度编程之受控组件与非受控组件
Dec 26 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
vue+element+Java实现批量删除功能
Apr 08 Javascript
JavaScript获取页面元素的常用方法详解
Sep 28 Javascript
el-table树形表格表单验证(列表生成序号)
May 31 Javascript
详解Vue Cli浏览器兼容性实践
Jun 08 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
js正则匹配markdown里的图片标签的实现
浅谈react路由传参的几种方式
Mar 23 #Javascript
一百多行代码实现react拖拽hooks
node中使用shell脚本的方法步骤
详解如何解决使用JSON.stringify时遇到的循环引用问题
vue 中 get / delete 传递数组参数方法
Mar 23 #Vue.js
JavaScript实现页面动态验证码的实现示例
You might like
关于php mvc开发模式的感想
2011/06/28 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
python中set常用操作汇总
2016/06/30 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
what is the difference between ext2 and ext3
2015/08/25 面试题
应届生人事助理求职信
2013/11/09 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
美德好少年主要事迹
2014/01/29 职场文书
幼儿园门卫制度
2014/01/29 职场文书
养成教育经验材料
2014/05/26 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
计划生育诚信协议书
2014/11/02 职场文书
授权委托书
2015/01/28 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
九年级历史教学反思
2016/02/19 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android