日期:2014-05-17  浏览次数:20750 次

在线急求解答!!Jquery与数据库交互
我有2个下拉列表,想在改变第一个下拉列表的项时,第二个下拉列表会根据第一个下拉列表的值去数据库查询,查询到的结果作为第二个下拉列表的option的value值
 
Java code


<script>
$(document).ready( function() {
    $("#cname").change( function(){
    var cnVal=$("#cname").val();
     
     $.ajax({
          type:"post",
          url:"servlet/Test",
          data : {'cName': $("#cname").val()},     
          dataType:"json",
          success:function(data){    
            alert(data);
    }});
     });
});
   
</script>



这是servlet/Test的内容
Java code

public class Test extends HttpServlet {

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

             this.doPost(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("GBK");
        String cname=request.getParameter("cName");
        [color=#FF0000]System.out.println("测试="+cname);[/color]//这一句控制台不打出东西        response.setCharacterEncoding("GBK");
        ConnSqlServer co=new ConnSqlServer();
        Connection ct=co.connDb();
        List list=new ArrayList();
        ResultSet rs=null;
        try {
            rs=ct.prepareStatement("select classID from classes where className="+cname+"").executeQuery();
            while(rs.next()){
                String nameCourse=rs.getString("className");
                list.add(nameCourse);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        JSONArray json=JSONArray.fromObject(list);
        
        PrintWriter pw=response.getWriter();
        pw.println(json);
        pw.flush();
        pw.close();
     }




现在我改变第一个下拉列表的选项,它根本不走去后台!!请求的url地址是没错的,我直接访问
http://localhost:8100/proj/servlet/Test,页面上显示一对方括号 [],
求解!!

------解决方案--------------------
打个断点 看看进没进Test
我还是怀疑请求地址不对 建议楼主在JSP打印下地址 再从新弄下URL