我正在尝试将AJAX分页添加到我的日历中,以避免重新加载整个网站,因为日历位于辅助选项卡中,在重新加载时重置为主选项卡。 通常我的" NEXT MONTH" -button将被包装在一个链接中,该链接刷新了同一页面,其中包含日期的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值发送到同一网址时没有获取POST值?如果您对如何解决这个问题有任何建议,那将是我的一天!
答案 0 :(得分:0)
当您将数据写入参数名称作为字符串常量发送时。
data: { "the_date": the_date}
不
data: { the_date: the_date}
你两次发出ajax请求。第二个没有任何参数。 所以替换下一行
$("#calendar_container").load("index.php #calendar_container");
与
$("#calendar_container").html(result);