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返回

  • 相关阅读:
    使用net start mysql的时候出现服务名无效的原因及解决办法
    Appium的安装
    cpu
    单例模式
    Java中Synchronized的用法(简单介绍)
    java随机数Reandom(简单介绍)
    多线程面试题
    线程和进程有什么区别(简单介绍)
    java多线程(简单介绍)
    servlet三种方式实现servlet接口
  • 原文地址:https://www.cnblogs.com/lodestar/p/2267655.html
Copyright © 2011-2022 走看看