使用Ajax对用户合法性做判断

 

   在用户登录系统时,有时需要先对用户的合法性进行判断,这样就可

以分清楚是用户的用户名错误还是密码错误。使用Ajax无疑是最佳的选择。

         1、在输入框中进行设置

                     <input  id="rep"  οnblur="usercheck()">

                         添加一个ID和触动函数的动作。

          2、开始编写usercheck()这个函数:

             function usercheck(){
             var repUser =$("#rep").val()

 
             $.ajax({
             type : 'POST',
             url : 'URL?action=?(以AA为例)',
            data : "repUser=" + repUser,
            dataType : 'json',
            success : callback
            });
          }

      在此处需要注意的是,由于调用了Ajax,需要引入包文件。

                      <script type="text/javascript"  src="URL/jquery.js"></script>

              

          3、在目标action中进行判断。

          if (action.equals("AA")){
         response.setContentType("text/html; charset=utf-8");
         PrintWriter out2 = response.getWriter();
         String repUser = request.getParameter("repUser");
         if (repUser == null && repUser.length() == 0)
          return;

          { …………此处编写后台调用和判断的程序,最后的返回值以如下形式返回:

            out2.println("{\"Result\":\"?\"}");

          }
          out2.close();
          return;
      }

    4、根据返回结果在返回函数中进行判断。

         function callback(data) {
           if (data.Result == '?') {
             …………

             }

           else if(data.Result == '?'){
           …………

            }
           $("#rep").focus();
         }

                    最后,会发现,每次焦点离开后都会调用此函数发生动作,从而引起死循环。因此,

   我们设定,只有在第二次的输入值与第一次不同时才会进一步动作。处理的方法是,在

   此form中设置一个隐藏变量,每次调用usercheck()这个函数时,都将此值与repUser进

   行比较,不相同时执行AJAX程序。且每次都把repUser的最新值传给此隐藏变量,从而

   保证最少的动作。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值