首页 > 其他分享 >Ajax用户名验证

Ajax用户名验证

时间:2023-01-19 16:57:33浏览次数:35  
标签:userName 用户名 请求 验证 xhr Ajax let post

一、用户名验证基本逻辑

  1. 为用户名输入框绑定blur事件,当输入框失去焦点后,客户端向后端服务器发送Ajax请求(此处使用Ajax模拟表单请求提交)
  2. 服务器收到请求后,连接数据库进行查询并将结果响应回前端
  3. 客户端接收后端响应后进行处理并展示给用户

二、主要知识点:Ajax发送post请求、node连接数据库(参考上一篇博客)

Ajax发送post请求

  1. 创建Ajax核心对象
    let xhr = new XMLHttpRequest()
  2. 编写回调函数
    xhr.onreadystatechange = function(){ }
  3. 建立连接
    xhr.open('post',URL,true) //true表示异步
  4. 发送请求
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')//get请求不需要编写请求头
    xhr.send("键=值&键=值···")//post请求需要提交的数据

三、核心代码

点击查看前端代码
window.onload = function(){
    let userName = document.querySelector('input[name="userName"]')
    let msg = document.querySelector('.msg')
    userName.addEventListener('blur',function(){
        let userVal = userName.value
        let xhr = new XMLHttpRequest()
        xhr.onreadystatechange = function(){
            if(this.readyState==4){
                if(this.status==200){
                    msg.innerHTML=this.responseText
                }
            }
        }
        xhr.open('POST','/users',true)
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
        xhr.send('userName='+userVal)
    })
}
点击查看后端代码
router.post('/',function(req,res,next){
  let userVal = req.body.userName
  let sql = 'select * from user where userName=?'
  db.query(sql,[userVal],(err,data)=>{
    if(err) throw err
    if(data.length>0){
      res.send('用户名已存在')
    }else{
      res.send('')
    }
  })
})

四、效果展示


标签:userName,用户名,请求,验证,xhr,Ajax,let,post
From: https://www.cnblogs.com/ben-studying/p/17061755.html

相关文章

  • jquery validate和jquery form 插件组合实现验证表单后AJAX提交,bootstrap修改错误信息
    jqueryvalidate和jqueryform插件组合实现验证表单后AJAX提交要实现表单验证和无刷新提交表单我们可以使用jQuery的两个很好用的插件——jqueryvalidate.js和jquery......
  • jQ动态回显ajax请求的值
    jquery循环数组输出显示在html页面jquery没有双向数据绑定,但是很多需求确实需要我们从后台接收到数组或者对象循环显示在前台页面上,这时我们可以用字符串拼接,元素添加......
  • Spring MVC自定义验证
    SpringMVC框架允许我们执行自定义验证。在这种情况下,我们声明自己的注释。我们可以根据自己的业务逻辑执行验证。SpringMVC自定义验证示例在此示例中,我们同时使用预......
  • Spring MVC编号验证
    在SpringMVC验证中,我们可以在数字范围内验证用户的输入。以下注释用于实现数字验证:@Min注解-必须传递带有@Min批注的整数值。用户输入必须等于或大于此值。@Max注解......
  • Spring MVC验证
    SpringMVC验证用于限制用户提供的输入。为了验证用户的输入,Spring4或更高版本支持并使用Bean验证API。它可以同时验证服务器端和客户端应用程序。 Bean验......
  • Spring MVC正则表达式验证
    SpringMVC验证使我们可以按特定顺序(即正则表达式)验证用户输入。 @Pattern 批注用于实现正则表达式验证。在这里,我们可以为 regexp 属性提供所需的正则表达式,并将其......
  • RestTemplate去掉https验证
    /*@BeanpublicRestTemplaterestTemplate()throwsKeyStoreException,NoSuchAlgorithmException,KeyManagementException{TrustStrategyacceptingTrustSt......
  • Calcite SQL 解析、语法扩展、元数据验证原理与实战(上)
    引言ApacheCalcite是一个动态数据管理框架,其中包含了许多组件,例如SQL解析器、SQL验证器、SQL优化器、SQL生成器等。因为Calcite的体系结构并不支持数据的存储和处......
  • ajax的原理是什么?如何实现?
    一、是什么AJAX全称(AsyncJavascriptandXML)即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并......
  • 验证表的伪列rowid在主备库的一致性
    文档课题:验证表的伪列rowid在主备库的一致性.数据库:oracle11.2.0.4环境:主库orcl150,备库orcl151应用场景:主库检测出存在坏块,若表存在索引.此时可以在主库确认出坏块对应的......