zoukankan      html  css  js  c++  java
  • ajax实现用户名存在校验

    ajax方式实现:用户名在数据库中的存在校验,网上非常多了
    1、可以用javaScript调用action
    if(window.ActiveXObject)
      {
       xmlHttpd = new ActiveXObject("Microsoft.XMLHTTP");    
      }
       else if(window.XMLHttpRequest)
      {
       xmlHttpd = new XMLHttpRequest();
      }
      
    uri = encodeURI(uri + "?" + key:value); 

    xmlHttpd.open("post",uri,false);
        
    xmlHttpd.onreadystatechange = function()
      {
       if(xmlHttpd.readyState==4){
        if(xmlHttpd.status==200){
         //ajax调用成功后的操作
         var rt = xmlHttpd.responseText.replace(/\s/ig,'');
         ***********
         }
        }
      }
      
    xmlHttpd.send(null);
     }
    注意事项:
    1、后台如果是strtus2的话,key要在action中注入,或者采用标准写法:实体类.属性。struts2会使用拦截器构造实体类,并注入action
    2、如果action的编码是utf-8,页面编码是gbk,那么参数在action中是乱码,需进行编码转换
    3、返回参数也是一样,如果页面和action的编码不一致的话,response要设置编码setCharacterEncoding("GBK"),否则回传中文会出现乱码

    2.jquery实现
    $(function() {
             $("#rolename").bind("blur", function(){
          var rolename=$.trim($("#rolename").val());
          if (rolename.length > 0)
          {
         $.get("validateRole.action",
            $("#newrole").serialize(), //序列化表单数据
            callback,"html");
          }
       })
            })
     //接收服务器返回的数值,将服务器返回的数据动态的显示在页面上
        function callback(data){
          var rt = data.replace(/\s/ig,'');
          if (rt == 2){
           $("#showResult").html("角色名已存在");
           $("#rolename").focus();
          } else if (rt == 3){
           $("#showResult").html("角色验证失败请联系管理员");
          } else if (rt == 1){
           $("#showResult").text("*格式:ROLE_");
          }
        }
       
     jquery的serialize会自动构造key:value参数,注意事项同js实现
       
    2.服务器端使用HttpServletResponse.getWriter获得PrintWriter对象,回写返回信息
     也可以使用dwr调用,将整个action状态作为josn返回

  • 相关阅读:
    MongoDB的特殊操作
    MongoDB的$作为下标的用法
    MongoDB之$关键字,以及$修饰器$set,$inc,$push,$pull,$pop
    MongoDB的数据类型
    MongoDB的增删改查
    Drozer快速使用指南
    [安全分析报告]使用某科技公司客服系统的风险分析
    某客服系统上传漏洞导致服务器被拿下(续)
    YS端对端之间SSL通信安全问题
    某客服系统上传漏洞导致服务器被拿下
  • 原文地址:https://www.cnblogs.com/lodestar/p/2267655.html
Copyright © 2011-2022 走看看