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 IFrame 强制刷新代码
Jul 23 Javascript
学习ExtJS(一) 之基础前提
Oct 07 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
JS数学函数Exp使用说明
Aug 09 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
Jul 15 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
Oct 05 Javascript
jQuery源码分析之init的详细介绍
Feb 13 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 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/04/25 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
js word表格动态添加代码
2010/06/07 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
Django实现跨域请求过程详解
2019/07/25 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
Python如何读写字节数据
2020/08/05 Python
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
高中数学教学反思
2014/01/30 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python