用ajax添加事件到mysql数据库



无法添加通过弹出框输入的事件标题

我有这个jquery代码,我把我的ajax代码:

 $(document).ready(function() {
 var date = new Date();
 var d = date.getDate();
 var m = date.getMonth();
 var y = date.getFullYear();
    var calendar = $('#calendar').fullCalendar({                
        editable: true,
        events: "http://localhost/test/events.php",
        selectable: true,
        selectHelper: true,
        select: function(start, end, allDay) {
         var title = prompt('Event Title:');
         if (title) {
         /*
         start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
         end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
         $.ajax({
         url: 'http://localhost/test/add_events.php',
         data: 'title='+ title+'&start='+ start +'&end='+ end ,
         type: "POST",
         success: function(json) {
         alert('OK');
         }
         });
         */
         calendar.fullCalendar('renderEvent',
         {
         title: title,
         start: start,
         end: end,
         allDay: allDay
         },
         true // make the event "stick"
         );
         }
         calendar.fullCalendar('unselect');
        }
    });
});

然后是add_events。php插入查询写入

    <?php
    $title=$_POST['title'];
    $start=$_POST['start'];
    $end=$_POST['end'];
    // connect to the database
     try {
     $bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', '');
     } catch(Exception $e) {
     exit('Can not connect to the database.');
     }
    $sql = "INSERT INTO evenement (title, start, end) VALUES (:title, :start, :end)";
    $q = $bdd->prepare($sql);
    $q->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end));
    ?>

我从我的default.html中注释了一个代码片段,因为我认为这就是问题所在。当我注释这个代码片段时,我可以通过一个弹出框添加一个事件,在确认事件标题之后,事件标题将在我的fullCalendar中明显可见(但尚未添加到数据库中)。但是,如果我"取消注释"该部分,通过弹出框键入的事件标题不会出现在我的fullCalendar中(显然,它还没有添加到我的数据库中)

有人可以帮助我编辑我的ajax代码,这样我就可以使键入的事件标题通过弹出框出现在我的fullCalendar和成功添加在我的数据库。

提前感谢!

我认为你的错误是在你的Ajax调用和你设置你的数据后调用的方式。

你的data属性应该是这样的:

var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
var title = "Title name";
$.ajax({
   url: 'http://localhost/test/add_events.php',
   data: {
      title: title, 
      start: start,
      end: end
   },
   type: "POST",
   success: function(json) {
      alert('OK');
   }
});

相关内容

  • 没有找到相关文章

最新更新