Ajax验证用户名或昵称是否已被注册


Posted in Javascript onApril 05, 2017

JavaScript中XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力 。而用户名或昵称的验证就可以使XMLHttpRequest对象实现。下面是个小例子。

页面:

简单的输入框

<body>
  昵称:<input type="text" name="username" ><span id="msg">请输入昵称</span><br>
  密码:<input type="password" name="password">
 </body>

Ajax验证用户名或昵称是否已被注册

JS代码如下:

window.onload=function()
    {
      var nameElement=document.getElementsByName("username")[0];
      //为昵称选项注册onblur事件
      nameElement.onblur=function()
      {
        var name=this.value;
        //1.获取XMLHttpRequest对象
        var req=getXMLHttpRequest();
        //4.处理响应结果
        req.onreadystatechange=function(){
          if(req.readyState==4){//XMLHttpRequest对象读取成功
            if(req.status==200){//服务器相应正常
              var msg=document.getElementById("msg");
              //根据返回的结果显示不同的信息
              if(req.responseText=="true"){
                msg.innerHTML="<font color='red'>该昵称已注册</font>";
              }else{
                msg.innerHTML="<font color='green'>可以使用</font>";
              }
            }
          }
        }
        //2.建立一个连接
        req.open("get","${pageContext.request.contextPath}/servlet/checkUserServlet?name="+name);
        //3.发送get请求
        req.send(null);
      }
    }

getElementsByName方法,根据浏览器的不同获得不同的XMLHttpRequest对象(提供异步发送请求的能力):

function getXMLHttpRequest(){
  var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp = new XMLHttpRequest();
    } else {// code for IE6, IE5
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhttp;
}

servlet:仅仅为了测试,并没有真正从dao层查询

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    PrintWriter pw=response.getWriter();
    String name=request.getParameter("name");
    //判断昵称是否已被使用
    if("tom".equals(name)){
      pw.print(true);
    }else{
      pw.print(false);
    }
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    doGet(request, response);
  }

测试:

Ajax验证用户名或昵称是否已被注册

由于在servlet中我们只验证tom是否存在,所以tom显示已使用。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery ajax 登录验证实现代码
Sep 23 Javascript
Javascript 键盘keyCode键码值表
Dec 24 Javascript
js中substring和substr的详细介绍与用法
Aug 29 Javascript
js 限制input只能输入数字、字母和汉字等等
Dec 18 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 Javascript
js仿百度音乐全选操作
Jan 13 Javascript
聊聊JavaScript如何实现继承及特点
Apr 07 Javascript
Angular 如何使用第三方库的方法
Apr 18 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
node.js Promise对象的使用方法实例分析
Dec 26 Javascript
NestJs使用Mongoose对MongoDB操作的方法
Feb 22 Javascript
JS二叉树的简单实现方法示例
Apr 05 #Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 #Javascript
js获取指定时间的前几秒
Apr 05 #Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 #Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 #Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 #Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 #Javascript
You might like
给海燕B411配件机起死回生配上件
2021/03/02 无线电
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
微信小程序前端promise封装代码实例
2019/08/24 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
Python解析nginx日志文件
2015/05/11 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
django使用JWT保存用户登录信息
2020/04/22 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
大专学生推荐信范文
2013/11/19 职场文书
高中生期末评语
2014/01/28 职场文书
优秀护士获奖感言
2014/02/20 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
技术入股合作协议书
2014/10/07 职场文书
人民调解协议书范本
2014/10/11 职场文书
给老师的一封感谢信
2015/01/20 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
python多次执行绘制条形图
2022/04/20 Python