前台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. Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件

    引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...

  2. NXP恩智浦P89V52X2单片机破解P89C52X2BA芯片解密技术分享!

    NXP恩智浦P89V52X2单片机破解P89C52X2BA芯片解密 P89V52X2是一款带有8kB Flash.256B数据RAM和192B数据EEPROM的80C51微控制器.这个器件可以在完全替 ...

  3. 【APICloud】APICloud基础学习与快速入门

    前言:回顾这几天学习情况,总的来说APICloud官网它的学习资料和社区还是足够了,但是我必须吐槽一句,实在是过于混乱了,视频资料文档资料它一股脑地都堆在了那里,这几天基本处于在各个地方跳转,然后现在 ...

  4. SVN

    你先在本地把包删了,然后提交上级目录就可以了.比如你要删除com.aaa.A这个类.你就把A删了,然后提交aaa就行,如果你要把aaa包删了,你就删了以后提交com这个包.SVN就删掉了 svn提交更 ...

  5. 在公司里面,如何让笔记本连上wifi?

    1.复制谷歌浏览器图标的快捷方式,重命名为chrome Android,鼠标右键设置该快捷方式的属性,在目标处,加上 C:\Users\admin\AppData\Local\Google\Chrom ...

  6. css自定义三角形效果

    废话不说了,直接上代码 element{ width:0px; height:0px; border-left:10px; border-right:10px; border-bottom:10px; ...

  7. 使EditText不要在页面打开时自动获取焦点(因为软键盘会自动弹出)

    当页面上有EditText时,第一个EditText会在页面打开时自动的获取焦点,这样带来的问题就是系统键盘会自动的弹出来. 解决方法比较简单只要为EditText的父控件设置一下就行了: andro ...

  8. java DOM4J 读取XML

    最近学习Java,在处理XML文档的时候,查阅相关资料,发现了DOM4J这个jre库,相对C#的XML处理来说,功能还算是跟得上 下面展示一篇我自己写的一个XML读取测试 import java.ut ...

  9. [RxJava]在学习RxJava中的错误理解

    关于RxJava语法的问题与理解   最近看到一个blog-RxJava 写到关于Observable数据异步加载的介绍.针对fromCallable和just操作符在使用上的问题来跟大家针对代码进行 ...

  10. springMVC4 注解配置实例

    结构: maven配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...