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 相关文章推荐
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
jQuery中$(function() {});问题详解
Aug 10 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
Aug 02 Javascript
Node.js包管理器Yarn的入门介绍与安装
Oct 17 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
vue多页面开发和打包正确处理方法
Apr 20 Javascript
vue组件实现进度条效果
Jun 06 Javascript
node.js +mongdb实现登录功能
Jun 18 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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
桌面中心(一)创建数据库
2006/10/09 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
node.js基于express使用websocket的方法
2017/11/09 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python解析json代码实例解析
2019/11/25 Python
python判断元素是否存在的实例方法
2020/09/24 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
高中政治教学反思
2016/02/23 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python