前台JS代码
/*异步验证用户名的输入格式以及是否存在*/
function CheckUsername(){
     /*取到用户名输入框*/
     var nametxt = document.getElementById("username");
     /*获取输入的用户名值*/
     var username = nametxt.value;
     /*获取到装错误信息的span框*/
     var sp = document.getElementById("usernameError");
     var regex = /^[a-z0-9]{4,12}$/i;
     /*创建异步函数*/
     var xhr = createXmlHttp();
     /*设置监听*/
     xhr.onreadystatechange = function()
     {
          if(xhr.readyState == 4){
              if(xhr.status == 200){
                   /*为信息提示框赋文本*/
                   sp.innerHTML = xhr.responseText;
                   /*为信息提示框赋样式*/
                   sp.className = "infoError";
              }
          }
     }
     /*打开链接 · 不加时间戳则会引起浏览器的缓存*/
     xhr.open("GET", "${pageContext.request.contextPath}/user_FindByName.action?time="+new Date().getTime()+"&username="+username, true);
     /*发送*/
     xhr.send();
}
function createXmlHttp(){
     var xmlHttp;
     try{//Firefox, Opera8.0+, Safari
          xmlHttp = new XMLHttpRequest();
     } catch(e){
          try {//IE
              xmlHttp = new ActiveXObject("Msxm12.XMLHTTP");
          } catch (e) {}
     }
     return xmlHttp;
}
 
后台action代码
     /**
     * AJAX异步校验用户名
     * @return String
     * @throws IOException
     */
     public String FindByName() throws IOException{
          /*调用service进行查询*/
          User existUser = userService.FindByUsername(user.getUsername());
          /*获取response对象,向页面输出信息*/
          HttpServletResponse response = ServletActionContext.getResponse();
          response.setContentType("text/html;charset=UTF-8");
          /*判断是否为空*/
          if(existUser != null){
              //用户名已经存在,不能注册
              /*有异常则向上抛出*/
              response.getWriter().println("<font color='red'>用户名已存在,不可用!</font>");
          } else{
              //用户名不存在,可以注册
              response.getWriter().println("<font color='green'>用户名可以使用!</font>");
          }
          /*AJAX操作,不需要页面跳转*/
          return NONE;
     }
 
 
 
 
 
 
 

SSH实战 · AJAX异步校验的更多相关文章

  1. 利用ajax异步校验验证码(转)

    利用ajax异步校验验证码 示例结果如图所示 具体步骤如下: step1: jsp页面及js脚本 <%@page pageEncoding="utf-8" contentTy ...

  2. struts2中的Ajax异步校验

    登录时验证码的异步校验: 1.验证码生成的是图片因此在struts.xml文件里面配置action 时,result标签中type 属性是stream 2.验证码图片的src的值为配置action名字 ...

  3. 问答项目---登陆账号密码登陆做AJAX异步校验

    异步验证管理员帐号方法: /* 异步验证管理员帐号 */ public function checkAccount(){ if(!IS_AJAX){echo "页面不存在";die ...

  4. ssh使用ajax异步通讯. json与对象转换的几个小问题

    首先是hibernate,用ssh做项目的时候,使用hibernate,这个hibernate博大精深,至今只懂皮毛.建对象时候使用它的一对多,多对多联系,. 这样子,对象转json的时候会产生循环依 ...

  5. Ajax实现验证码异步校验

    验证码异步校验可以防止表单提交后因验证码不正确导致已填的其它项都清空. 整个过程图如下 验证码输入框出代码 <div class="form-group"> <l ...

  6. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  7. SSH网上商城---使用ajax完成用户名是否存在异步校验

    小伙伴在上网的时候,需要下载或者观看某些视频资料,更或者是在逛淘宝的时候,我们都需要注册一个用户,当我们填写好各种信息,点击确定的时候,提示用户名已经存在,小编就想,为什么当我们填写完用户名的时候,她 ...

  8. 【项目实战】---使用ajax完毕username是否存在异步校验

    小伙伴在上网的时候.须要下载或者观看某些视频资料,更或者是在逛淘宝的时候.我们都须要注冊一个用户,当我们填写好各种信息,点击确定的时候.提示username已经存在.小编就想,为什么当我们填写完use ...

  9. 使用AJAX完成用户名是否存在异步校验

    一.JSP代码: 1.事件触发:onblur 2.编写AJAX代码:向Action中提交,传递username参数 <script> function checkUsername(){ / ...

随机推荐

  1. LOL(英雄联盟)提示不支持虚拟机登录,解决方法

    搜索虚拟系统下的存放文件索 .VMX 会出现带有.VMX 的文件(比如Windows 7.vmx)用记事本打开在最后面回车再加入一行:monitor_control.restrict_backdoor ...

  2. VS2012 还原默认设置

    恢复默认设置的2种方法 如果VS出现问题或设置变乱,可以通过恢复默认设置使之回到安装成功时的状态,从而解决出现的问题.VS恢复默认设置的方法有2种,分别是:通过"导入和导出设置"实 ...

  3. Vue - 事件绑定

    1.内联方式: A:将事件处理器绑定到一个方法中,以下所有事件都以click事件作为案例 注意:内联方式下事件处理器只能绑定一个方法,要是想要绑定多个方法,依旧还是使用js中的addEventList ...

  4. 1、Spring In Action 4th笔记(1)

    Spring In Action 4th笔记(1) 2016-12-28 1.Spring是一个框架,致力于减轻JEE的开发,它有4个特点: 1.1 基于POJO(Plain Ordinary Jav ...

  5. How to configure security of ActiveMQ ?

    Terms {activemq.home}: The ActiveMQ installation folder. How to configure ActiveMQ to use JAAS Authe ...

  6. SparkLauncher 1.6 版本bug

    背景 近期在研究使用java api的方式来调用Spark程序,通过句柄的方式来完成监控Job运行状态.及时杀死Job等功能.官方文档直接指出使用Java/Scala创建Job的方式——利用Spark ...

  7. 编译原理词法分析 java简单实现

    package com.csray; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundEx ...

  8. margin:0 auto;不居中

    margin:0 auto:不居中可能有以下两个的原因; 1.没有设置宽度<div style="margin:0 auto;"></div>看看上面的代码 ...

  9. 【总结】C# Access 数据库 增删查改 的简单步骤

        引用集: using System.Data.OleDb; static string exePath = System.Environment.CurrentDirectory;//本程序所 ...

  10. sql server 代理服务

    sql server 创建维护计划失败.错误代码:c001f011. 从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} ...