这是我的JS:
$.ajax({
url: 'ajaxAddEvent.php',
type: 'post',
dataType: 'json',
data: $('#newEventForm').serialize() + '&type=1',
success: function(data) {
toastr.success('L\'évènement a été créé');
$('#dialogAdd').dialog('close');
$('#calendar').fullCalendar('refetchEvents');
},
error: function() {
alert('La requête AJAX n\'a pas abouti, contactez l\'administrateur');
}
});
这是我的PHP返回AJAX数据(ajaxAddEvent.php):
//Pour la date de début
$dateTimeStart = new DateTime();
$dateTimeStart = $dateTimeStart->createFromFormat('d/m/Y', $_POST['startDate']);
$dateStartSQL = $dateTimeStart->format('Y-m-d');
//Pour la date de fin
$dateTimeEnd = new DateTime();
$dateTimeEnd = $dateTimeEnd->createFromFormat('d/m/Y', $_POST['endDate']);
$dateEndSQL = $dateTimeEnd->format('Y-m-d');
$eventStartSQL = $dateStartSQL . ' ' . $_POST['startHour'];
$eventEndSQL = $dateEndSQL . ' ' . $_POST['endHour'];
$req = $bdd->prepare('INSERT INTO event (eventTitle, eventRef, eventStart, eventEnd, calendarID, eventComments) VALUES(:eventTitle, :eventRef, :eventStart, :eventEnd, :calendarID, :eventComments)');
$req->execute(array(
'eventTitle' => $_POST['title'],
'eventRef' => $_POST['ref'],
'eventStart' => $eventStartSQL,
'eventEnd' => $eventEndSQL,
'calendarID' => $_POST['type'],
'eventComments' => $_POST['comments']
));
$req->closeCursor();
我知道fullCalendar中有一个选项可以防止事件重叠。但是,我使用另一种创建事件的方法,即使选项设置为false,事件也将在与另一个相同的位置创建。
我想帮助检查PHP文件中的数据库中是否已存在某个事件,然后我可以插入新事件或将数据返回给JS以便编写错误消息。
提前谢谢。