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使用手册之 事件处理
Mar 24 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
Jun 23 Javascript
js实现有时间限制消失的图片方法
Feb 27 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
d3.js入门教程之数据绑定详解
Apr 28 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
Jan 09 Javascript
vue组件的写法汇总
Apr 12 Javascript
Vue中android4.4不兼容问题的解决方法
Sep 04 Javascript
微信小程序使用蓝牙小插件
Sep 23 Javascript
小程序自定义弹框效果
Nov 16 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中的正规表达式(二)
2006/10/09 PHP
php字符串截取的简单方法
2013/07/04 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
使用Python对Csv文件操作实例代码
2017/05/12 Python
Django数据库表反向生成实例解析
2018/02/06 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
学生实习推荐信范文
2013/11/26 职场文书
团支部建设方案
2014/05/02 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
上课不认真检讨书
2014/09/17 职场文书
体育个人工作总结
2015/02/09 职场文书
学期个人工作总结
2015/02/13 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
springboot读取resources下文件的方式详解
2022/06/21 Java/Android