SSH实战 · AJAX异步校验

前台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 ;
      }
 
 
 
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值