我有一个Bootstrap模式插件,我试图删除在FullCalendar中创建的事件。在我第一次尝试删除时,事件从日历视图中消失,但mysql条目不会被删除。我注意到calEvent.id
的原因是在我的初始尝试删除期间没有获得值,但在第二次尝试中calEvent.id
有一个值,我可以成功删除该事件。我想知道为什么calEvent.id
在第一次尝试时无法获取事件ID。使用我在第一次尝试时注意到的警报框我得到了一个“未定义”,我猜它是因为没有值calEvent.id
。请在下面找到我的脚本。
$('#event_delete').on('click', function () {
$('#calendar').fullCalendar('removeEvents', calEvent.id);
$.ajax({
data: "&id=" + calEvent.id,
type: "POST",
url: "http://localhost/book/js/delete_events.php"
});
alert (calEvent.id);
CloseModalBox();
});
-------------- delete_events.php -----------
<?php
try {
$bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', '');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
$id = $_POST['id'];
$sql = "DELETE from evenement WHERE id=".$id;
$q = $bdd->prepare($sql);
$q->execute();
?>
答案 0 :(得分:1)
数据应该像这样传递: -
$('#event_delete').on('click', function () {
$('#calendar').fullCalendar('removeEvents', calEvent.id);
$.ajax({
data: {id: calEvent.id},
type: "POST",
url: "http://localhost/book/js/delete_events.php"
});
alert (calEvent.id);
CloseModalBox();
});
答案 1 :(得分:0)
您可以调用$('#calendar')。fullCalendar('refetchEvents')来代替重新加载整个页面。它将从数据库中获取所有事件并重新呈现它们。