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 权威指南(第四版) 读书笔记
Aug 11 Javascript
FileUpload上传图片(图片不变形)
Aug 05 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
Jan 20 Javascript
javascript实现类似java中getClass()得到对象类名的方法
Jul 27 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
Oct 25 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
详解vue添加删除元素的方法
Jun 30 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
Jul 22 Javascript
详解vue 命名视图
Aug 14 Javascript
Layui 动态禁止select下拉的例子
Sep 03 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
js正则匹配markdown里的图片标签的实现
浅谈react路由传参的几种方式
Mar 23 #Javascript
一百多行代码实现react拖拽hooks
node中使用shell脚本的方法步骤
详解如何解决使用JSON.stringify时遇到的循环引用问题
vue 中 get / delete 传递数组参数方法
Mar 23 #Vue.js
JavaScript实现页面动态验证码的实现示例
You might like
提问的智慧
2006/10/09 PHP
使用PHP模拟HTTP认证
2006/10/09 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
Vue 中axios配置实例详解
2018/07/27 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
python中的逆序遍历实例
2019/12/25 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
中专毕业生求职简历的自我评价
2013/10/21 职场文书
体育教师自荐信范文
2013/12/16 职场文书
法制演讲稿
2014/09/10 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
三好学生竞选稿
2015/11/21 职场文书
小学英语新课改心得体会
2016/01/22 职场文书