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 相关文章推荐
javascript分页代码实例分享(js分页)
Dec 13 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
node+koa实现数据mock接口的方法
Sep 20 Javascript
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
vue强制刷新组件的方法示例
Feb 28 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
vue实现抽屉弹窗效果
Nov 15 Javascript
HTML元素拖拽功能实现的完整实例
Dec 04 Javascript
vue实现树状表格效果
Dec 29 Vue.js
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作的文本留言本的例子(四)
2006/10/09 PHP
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
简单实现php上传文件功能
2017/09/21 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
PHP实现的策略模式示例
2019/03/20 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
javascript制作2048游戏
2015/03/30 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
python面试题小结附答案实例代码
2019/04/11 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
自荐信格式的六要素
2013/09/21 职场文书
信息技术专业个人自我评价
2013/12/11 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
销售团队口号大全
2014/06/06 职场文书
承诺函范文
2015/01/21 职场文书
同意落户证明
2015/06/19 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS