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的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
Sep 28 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
Nov 22 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
Node.js JSON模块用法实例分析
Jan 04 Javascript
微信小程序框架的页面布局代码
Aug 17 Javascript
关于JavaScript数组去重的一些理解汇总
Sep 10 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 地区分类排序算法
2013/07/01 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
gearman的安装启动及python API使用实例
2014/07/08 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
用python处理MS Word的实例讲解
2018/05/08 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
python基于递归解决背包问题详解
2019/07/03 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
Django之模板层的实现代码
2019/09/09 Python
欧克利英国官网:Oakley英国
2019/08/24 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
自我评价的写作规则
2014/01/06 职场文书
黄金酒广告词
2014/03/21 职场文书
师德演讲稿范文
2014/05/06 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
win10下go mod配置方式
2021/04/25 Golang
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript