调试JavaScript和servlet

调试JavaScript和servlet,javascript,mysql,servlets,Javascript,Mysql,Servlets,我对编程相当陌生。这道题是为考试做准备的。我有一个servlet,它连接到我的MySQL数据库。我有一个JavaScript 我有两个日历,你可以选择“从”日期-“到”日期。如果我从2014-03-06-2014-03-10中选择fx,我希望打印出我在此时间间隔内工作的小时数。这意味着我的servlet正在从我的MySQL数据库中获取“Allday\u hours”列。问题是每次我从javascript中选择一个日期时,它只返回Allday_hours中的所有小时数。这意味着它将贯穿所有列,而不

我对编程相当陌生。这道题是为考试做准备的。我有一个servlet,它连接到我的MySQL数据库。我有一个JavaScript

我有两个日历,你可以选择“从”日期-“到”日期。如果我从2014-03-06-2014-03-10中选择fx,我希望打印出我在此时间间隔内工作的小时数。这意味着我的servlet正在从我的MySQL数据库中获取“Allday\u hours”列。问题是每次我从javascript中选择一个日期时,它只返回Allday_hours中的所有小时数。这意味着它将贯穿所有列,而不是我选择的日期

有人能看出我做错了什么吗

Javascript:

  <form>
        <input id="startDate"/>                     
        <input id="endDate"/>
    </form>
    <div id="startresult"></div>
    <div id="endresult"></div>
    <script>

    $(function(){
        $("#startDate").datepicker({
            dateFormat: 'yy-mm-dd',
            onSelect: function(dateText,inst){
                $('.selected-date').html(dateText);

                $.ajax({
                      url: "../getHoursSQL",
                      type: "post",
                      data: JSON,
                      success: function(data){
                           start: $("#startDate").val();
                          alert("success");
                          $("#startresult").html(data);

                      },
                      error:function(){
                          alert("failure");
                          $("#startresult").html('there is error while submit');
                      }  
                    });
            }
        });
    });

    $(function(){
            $("#endDate").datepicker({
                dateFormat: 'yy-mm-dd',
                onSelect: function(dateText,inst){
                    $('.selected-date').html(dateText);

                    $.ajax({
                          url: "../getHoursSQL",
                          type: "post",
                          data: JSON,
                          success: function(data){
                              end: $("#endDate").val();
                              alert("success");
                              $("#endresult").html(data);
                          },
                          error:function(){
                              alert("failure");
                              $("#result").html('there is error while submit');
                          }  
                        });
                }
            });
        });

</script>

首先,您忘记将startDate和endData从javascript代码发送到servlet。您可以通过更改ajax方法参数的“data”成员来实现这一点

您还应该从servlet中的请求获取它,如下所示

String startDate = req.getParameter("startDate");
String endDate= req.getParameter("endDate");
然后,您应该在preparedStatement中为您的输入提供值

pst.setXXX(1,startDate);
pst.setXXX(2,endDate);

我希望这些信息能帮助您解决问题

我删除了我的评论,因为它在评论中不可读。非常感谢您的时间和回答。在数据中可能是这样的:data:{start:$(“#startDate”).val(),end:$(“#endDate”).val()}非常感谢您的回答。我刚刚编辑了我的代码。会是这样吗?
pst.setXXX(1,startDate);
pst.setXXX(2,endDate);