PHP 日历分页 AJAX 问题

PHP Calendar Pagination AJAX problems

我正在尝试将 AJAX 分页添加到我的日历中,以避免重新加载整个站点,因为日历位于辅助选项卡中,在重新加载时会重置为主选项卡。 通常我的 "NEXT MONTH"-button 会被包裹在一个 link 中,它使用日期的 GET 值刷新同一个页面,如下所示:

<a href="?date=<?php echo $nextDate; ?>">
    <button type="button" class="btn">
        NEXT MONTH
    </button>
</a>

效果很好。但是当我尝试将表单中的 $nextDate 值传递给 AJAX 并重新加载页面时,就好像它没有获取 POST 值。

HTML:

<form method="post">
    <input type="hidden" class="form-control" name="the_date" value="<?php echo $prevDate; ?>" />
        <button type="button" data-name="next-month" class="btn">
            NEXT MONTH
        </button>
</form>

Javascript:

$("body").on( "click", "[data-name='next-month']", function() { 
    var the_date = $(this.form).find(".form-control[name=the_date]").val();
        ajaxRequest = $.ajax({
            type: "POST",
            url: "index.php",
            data: { the_date: the_date}
   }).done(function (result) {
            alert(the_date)
            $("#calendar_container").load("index.php #calendar_container");
   })
});

我这样做的方式是否正确,或者是否有某种原因导致 POST-值在发送到同一个 url 时没有被提取?如果您对我如何解决这个问题有任何建议,那将是我的一天!

当您发送数据时,将参数名称写入字符串常量。

data: { "the_date": the_date}

没有

data: { the_date: the_date}

您提出 ajax 请求两次。第二个没有任何参数。 所以替换下一行

$("#calendar_container").load("index.php #calendar_container");

$("#calendar_container").html(result);