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 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
jQuery对象和DOM对象相互转化
Apr 24 Javascript
基于JQuery的密码强度验证代码
Mar 01 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
js实现在字符串中提取数字
Nov 05 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 Javascript
canvas压缩图片转换成base64格式输出文件流
Mar 09 Javascript
使用 jQuery 实现表单验证功能
Jul 05 jQuery
JavaScript基于遍历操作实现对象深拷贝功能示例
Mar 05 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 Javascript
公众号SVG动画交互实战代码
May 31 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
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
动态样式类封装JS代码
2009/09/02 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
python简单猜数游戏实例
2015/07/09 Python
在Python中移动目录结构的方法
2016/01/31 Python
详解Python中的静态方法与类成员方法
2017/02/28 Python
PyQT实现多窗口切换
2018/04/20 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Django通过json格式收集主机信息
2020/05/29 Python
Python包和模块的分发详细介绍
2020/06/19 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
无工作经验者个人求职信范文
2013/12/22 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
聘任书范文大全
2015/09/21 职场文书