在 PHP 中从 URL 获取日期并刷新页面

Getting Dates from URL in PHP and Refreshing Page

我正在使用 Google 图表显示折线图,该折线图从 PHP 服务获取数据,该服务根据输入的日期运行查询。查询有效,它正在获取数据,但是当我试图将我的日期传递到 url 并用数据取回图表时,我似乎无法全神贯注地思考如何 "refresh" 图表无需离开该页面,因为当我提交我的表单或 "date fields" 它只是转到服务 url... 这是我正在经历的。

这是我在实际显示图表的索引页中包含的内容:

  function drawChart() {
      var jsonData1 = $.ajax({
          url: "http://helpdesk/reporting/interface/charts/services/ticketsopenedclosed.php?startDate=<?php print $startDate = $_GET['startDate'] ?>&endDate=<?php print $endDate = $GET_['endDate'] ?>",
          dataType:"json",
          async: false
          }).responseText;

这是我实际拥有我的表格的地方(同一页面上有我想用表格中的数据刷新的图表!!)

<div><form action="charts/ticketsopenedclosedchart.php" method="get"><div class="well">
            <input type="text" class="span2" value="startDate" data-date-format="yyyy-mm-dd" id="dp2" name="startDate">
            <input type="text" class="span2" value="endDate" data-date-format="yyyy-mm-dd" id="dp3" name="endDate">
          <button type="submit" class="btn btn-default">Refresh Data</button></div></form>
     <div class="container">
       <div class="row">
    </div>
</div>

   </div>
    <?php require("charts/ticketsopenedclosedchart.php")?>
    <div id="ticketsCreated"></div>

很明显,当我点击提交按钮时,它会点击 url 并提供日期和来自服务的数据。但我想用这些数据刷新我的图表,而不是让用户看到它。

这是因为当您提交表单时,浏览器将本机转到 action 属性中指定的 URL。要解决此问题,您需要在按钮上使用 onClick 处理程序。

所以像这样:

<button type="submit" class="btn btn-default" onClick="handleRefresh">Refresh Data</button>

然后是 JS:

function handleRefresh(e){
    e.preventDefault();
    drawChart();
}