AJAX验证此ID是否有对应的name

 

   在表格输入一个ID,然后自动根据ID在数据库中查找是否有对应name

  这是javascript部分,利用ajax验证

 $(document).ready(function() {
        $("#client_id").blur(function(){
            $.ajax({
            type:'POST',
            url:'servlet/valClientServlet',                  //这是后台servlet的方法
            data:'client_id='+$("#client_id").val(),      //client_id 是输入ID 的文本框的id属性
            beforeSend: function(){
                $("#progress").html("aaa");},
                complete: function(XMLHttpRequest,textStatus){         //这是在执行前会有短暂的sleep,方法在servlet实现
                    $("#progress").html("");},
            success:function(msg){
                if(msg=='false'){                                    //判断为false,利用alert弹出框提示没有,并使显示name的div里面为空
                    alert("没有此人");
                    $("#client_name").html("");
                }else{                                                      //判断为true,在div中显示name的值,decodeURI()是防止乱码的
                    $("#client_name").html(decodeURI(msg));
                    
                }
                }
                });
            });
    });

 

这是servlet内容

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        
        String client_id=request.getParameter("client_id");
        
        try {
            Thread.sleep(1000);                        //此行就是执行前的sleep,括号内数字单位是毫秒
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //调用services去数据库查找是否有相同用户名
        
        BackDAO dao=new BackDAO();
        E_Client eclient=dao.findById(client_id);              //findById()方法 就是一个包含SQL查询语句的方法,向数据库查询
//        boolean isSelect=dao.selectClient(client_id);
        if(eclient!=null){
            out.print(URLEncoder.encode(eclient.getClient_name(), "utf-8"));    //在ajax里的防止乱码的decodeURI()方法,这里还需要添加
        }else{
            out.print(false);
        }
        
        out.flush();
        out.close();
    }

 

posted @ 2014-08-21 23:04  Van per 7  阅读(370)  评论(0编辑  收藏  举报