使用JSON和AJAX发送和检索数据

时间:2013-11-13 14:23:44

标签: java ajax json servlets

我有以下前端代码,我需要获取textfield(id = uid)值并将其解析为servlet并根据该值填充其他两个文本字段(这是一个搜索功能),但是代码如下只检索值,无法发送“uid”。我怎么能这样做?请帮帮我。

    <script type="text/javascript">  
    $(document).ready(function(){   
            $('#getData').click(function(){ 

                $.ajax({  
                    url:'JsonServlet',  
                    type:'post', 
                    dataType: 'json',  
                    success: function(data) {  

                        $('#uname').val(data.uname);  
                        $('#uadd').val(data.uadd);
                    }  
                });  
            });  
    });  
</script>  

</head>  
<body>  

    UserID:<input name="userid" type="text" id="uid"/><br/>  
    Name:<input type="text" id="uname"/> 
    Address:<input type="text" id="uadd"/> 

    <input type="button" id="getData" value="Get Data"/>  

我的servlet代码看起来像这样

response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            String userid = request.getParameter("userid");
            ResultSet rs = db.selectQuery("select * from tbl_user where userid = '"+userid+"'");
            JSONObject json = new JSONObject();
            while (rs.next()) {
                json.put("uname", rs.getString("username"));
                json.put("uadd", rs.getString("useraddress"));

            }
            //json.put("uname", "user1");
               // json.put("uadd", "address1");
            out.print(json);

        } catch (Exception e) {
            e.printStackTrace();
        } 

1 个答案:

答案 0 :(得分:1)

你的ajax应该喜欢这个..

             $.ajax({  
                    url:'JsonServlet?userid='+document.getElementById("uid").value,  
                    type:'post', 
                    dataType: 'json',  
                    success: function(data) {  

                        $('#uname').val(data.uname);  
                        $('#uadd').val(data.uadd);
                    }  
                });  
            });  

你应该能够使用String userid = request.getParameter("userid");