Ajax使用原生态JS验证用户名是否存在

 更新时间:2020年05月26日 17:05:38   作者:chance2015  
这篇文章主要为大家详细介绍了Ajax使用原生态JS验证用户名是否存在的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JS验证用户名是否存在的具体代码,供大家参考,具体内容如下

直接上代码:

reg_ajax.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax请求servlet实现用户名是否存在验证</title>
</head>
<body>

 <script type="text/javascript">

  /** 
   * 得到XMLHttpRequest对象 
   */
  function getajaxHttp() {
   var xmlHttp;
   try {
    // Firefox, Opera 8.0+, Safari 
    xmlHttp = new XMLHttpRequest();
   } catch (e) {
    // Internet Explorer 
    try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
     try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (e) {
      alert("您的浏览器不支持AJAX!");
      return false;
     }
    }
   }
   return xmlHttp;
  }
  /** 
   * 发送ajax请求 
   * url--请求到服务器的URL 
   * methodtype(post/get) 
   * con (true(异步)|false(同步)) 
   * functionName(回调方法名,不需要引号,这里只有成功的时候才调用) 
   * (注意:这方法有二个参数,一个就是xmlhttp,一个就是要处理的对象) 
   */
  function ajaxrequest(url, methodtype, con, functionName) {
   //获取XMLHTTPRequest对象
   var xmlhttp = getajaxHttp();
   //设置回调函数(响应的时候调用的函数)
   xmlhttp.onreadystatechange = function() {
    //这个函数中的代码在什么时候被XMLHTTPRequest对象调用?
    //当服务器响应时,XMLHTTPRequest对象会自动调用该回调方法
    if (xmlhttp.readyState == 4) {
     if (xmlhttp.status == 200) {
      functionName(xmlhttp.responseText);
     }
    }
   };
   //创建请求
   xmlhttp.open(methodtype, url, con);
   //发送请求
   xmlhttp.send();
  }
  function checkUsername() {
   var username=document.getElementById('username').value;
   //调用ajax请求Servlet
   ajaxrequest("userServlet?username="+username,"POST",true,ckUsernameResponse);
  }
  function ckUsernameResponse(responseContents){
   if (responseContents=='yes') {
    document.getElementById('usernameMsg').innerHTML="<font color='red'>用户名存在</font>";
    document.getElementById('username').style="background-color: red";
   }else{
    document.getElementById('usernameMsg').innerHTML="";
    document.getElementById('username').style="background-color: white";
   }
  }

 </script>

 <table>
  <tr>
   <td>用户名</td>
   <td><input type="text" id="username" onblur="checkUsername()"/></td>
   <td><div id="usernameMsg"></div></td>
  </tr>
  <tr>
   <td>邮箱</td>
   <td><input type="text" id="email" /></td>
   <td><div id="emailMsg"></div></td>
  </tr>
 </table>


</body>
</html>

请求的Servlet代码如下,UserServlet.java

package cn.bestchance.servlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class UserServlet
 */
@WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;


 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doPost(request, response);
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String username=request.getParameter("username");
  //这里使用ArrayList代替从数据库中查询数据
  ArrayList<String> userList =new ArrayList<String>();
  userList.add("admin");
  userList.add("test");
  userList.add("chance");
  //验证用户名是否存在
  boolean flag = false;
  for (String string : userList) {
   if(string.equals(username)){
    flag = true;
    break;
   }
  }
  if(flag){//用户名已存在
   response.getWriter().print("yes");
  }else{//用户名不存在
   response.getWriter().print("no");
  }
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JS模态窗口返回值兼容问题的完美解决方法

    JS模态窗口返回值兼容问题的完美解决方法

    下面小编就为大家带来一篇JS模态窗口返回值兼容问题的完美解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Cropper.js进阶实现图片旋转裁剪处理功能示例

    Cropper.js进阶实现图片旋转裁剪处理功能示例

    这篇文章主要为大家介绍了Cropper.js进阶实现图片旋转裁剪功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 符合W3C网页标准的iframe标签的使用方法

    符合W3C网页标准的iframe标签的使用方法

    符合W3C网页标准的iframe标签的使用方法...
    2007-07-07
  • JavaScript正则表达式验证登录实例

    JavaScript正则表达式验证登录实例

    这篇文章主要为大家详细介绍了JavaScript正则表达式验证登录实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • js精度溢出解决方案

    js精度溢出解决方案

    一般参数值不能超过16位。如果超出16都是用0替代,导致我们查询不到自己想要的结果,本文将介绍如何处理这种现象
    2012-12-12
  • bootstrap弹出层的多种触发方式

    bootstrap弹出层的多种触发方式

    这篇文章主要为大家详细介绍了bootstrap弹出层的多种触发方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 详解怎么检测和防止JavaScript死循环

    详解怎么检测和防止JavaScript死循环

    最近工作中遇到了一些死循环导致的页面卡死问题,经过 trouble shooting 和代码修复解决了问题,所以下面这篇文章主要给大家介绍了怎么检测和防止JavaScript死循环的相关资料,需要的朋友可以参考下
    2021-11-11
  • 完美实现js选项卡切换效果(二)

    完美实现js选项卡切换效果(二)

    这篇文章主要为大家详细介绍如何完美实现js选项卡切换效果,通过设置定时器实现延时0.5s切换选项卡,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • JavaScript词法作用域与调用对象深入理解

    JavaScript词法作用域与调用对象深入理解

    关于 Javascript 的函数作用域、调用对象和闭包之间的关系很微妙,关于它们的文章已经有很多,本文做了一些总结,需要的朋友可以参考下
    2012-11-11
  • JS实现字符串中去除指定子字符串方法分析

    JS实现字符串中去除指定子字符串方法分析

    这篇文章主要介绍了JS实现字符串中去除指定子字符串方法,结合实例形式分析了javascript使用字符串替换与分割、聚合两种子字符串去除相关操作技巧,需要的朋友可以参考下
    2018-05-05

最新评论