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-世界上误解最深的语言分析
Aug 12 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
Oct 24 Javascript
JS正则表达式验证数字代码
Jan 28 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
Mar 03 Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
js 判断各种数据类型的简单方法(推荐)
Aug 29 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
Jun 19 Javascript
Vue Object 的变化侦测实现代码
Apr 15 Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
PHP Google的translate API代码
2008/12/10 PHP
PHP 简单日历实现代码
2009/10/28 PHP
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
django实现分页的方法
2015/05/26 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
python进行文件对比的方法
2018/12/24 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
浅析python函数式编程
2020/09/26 Python
Python下载的11种姿势(小结)
2020/11/18 Python
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
社区居务公开实施方案
2014/03/27 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
2014年团队工作总结
2014/11/24 职场文书
大学四年个人总结
2015/03/03 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript