Fullcalendar删除事件Ajax / PHP

问题描述 投票:1回答:3

我试图在我的日历中使用removeEvent方法并在ajax中发送数据以从我的数据库中删除该事件。

eventClick: function (calEvent, jsEvent, view) {
    $.ajax({
       url: 'calendar/remove_event.php',
       data: 'id=' + event.id,
       type: "POST",
       success: function () {
          $('#calendar').fullCalendar('removeEvents', calEvent._id);
       }
   });
},

和我的PHP:

$id = $_POST['id'];

$ligacao = mysqli_connect("localhost", "root", "", "mydatabase");
if (mysqli_connect_errno()) {
    echo "Can't connect to database: " . mysqli_connect_error();
}

$sql = "delete from events WHERE id= '$id'";
$resultado = mysqli_query($ligacao, $sql);
mysqli_close($ligacao);

当我点击该事件时,它将从日历中删除,但如果我刷新页面它再次出现,因为它没有从数据库中删除。以下是这些方法的文档(removeEvent和eventClick):

这是完整的日历eventClick。

  1. Reference 1
  2. Reference 2
php ajax fullcalendar
3个回答
0
投票

检查php代码..

也许是因为这一行

$sql = "delete from events WHERE id= '$id'";

改变这个

$sql = "delete from events WHERE id='".$id."'";

并检查ajax,您可以使用chrome(网络选项卡)中的开发人员工具查看网络日志或将此代码添加到您的ajax并在控制台上查看

error: function(jqXHR, textStatus, errorThrown){
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
}

谢谢


0
投票

你在eventClick函数中犯了一个错误:event没有定义。尝试使用正确的变量名称(calEvent)重新填充它。

此外,在_id中不存在Event object属性,所以在你的removeEventsid重新加入它。

eventClick: function (calEvent, jsEvent, view) {
    $.ajax({
       url: 'calendar/remove_event.php',
       data: 'id=' + calEvent.id,
       type: "POST",
       success: function () {
          $('#calendar').fullCalendar('removeEvents', calEvent.id);
       }
   });
},

0
投票

你必须像这样调用id。

eventClick: function( event, jsEvent, view ) { }

代替。

eventClick: function (calEvent, jsEvent, view) { }

接下来,您可以使用事件的属性访问元素ID。

event.id

在这个简短的解释之后,最终的代码将是这样的。

eventClick: function( event, jsEvent, view ) {
$.ajax({
   url: 'calendar/remove_event.php',
   data: 'id=' + event.id,
   type: "POST",
   success: function () {
      $('#calendar').fullCalendar('removeEvents', calEvent._id);
   }
 });
},

有了这个修复,你的php中的删除方法可能正常。

参考文献:http://fullcalendar.io/docs/mouse/eventClick/

Thnks。

© www.soinside.com 2019 - 2024. All rights reserved.