我要对我的问题做一个解释: 尝试将fullcalendar集成到通过mysql&获取数据的Web上。 ajax,我想在日历上显示预订日期,只要它与一个“房子”相关,特别是当点击这个时。 所以,在我的PHP中我收到$ pisoid = $ _GET ['piso'];然后我在同一页面中使用js脚本,我通过post ajax传递该数据:
var pisoid = "<?php echo $pisoid; ?>" ;
$.ajax({
url: 'process.php',
type: 'POST', // Send post data
data: 'type=fetch',
async: false,
success: function(s){
json_events = s;
}
});
我也用这个:
$('#calendar').fullCalendar({
events: JSON.parse(json_events),
//events: [{"id":"14","title":"New Event","start":"2015-01-24T16:00:00+04:00","allDay":false}],
utc: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true,
slotDuration: '00:30:00',
eventReceive: function(event){
var title = event.title;
var start = event.start.format("YYYY-MM-DD[T]HH:mm:SS");
$.ajax({
url: 'process.php',
data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone+'&pisoid='+pisoid,
type: 'POST',
dataType: 'json',
success: function(response){
event.id = response.eventid;
$('#calendar').fullCalendar('updateEvent',event);
},
error: function(e){
console.log(e.responseText);
}
});
$('#calendar').fullCalendar('updateEvent',event);
console.log(event);
});
然后,在我的process.php上,我尝试制作:
$space = $_POST['pisoid'];
$events = array();
$query = mysqli_query($con, "SELECT * FROM calendar where pisoid='$space'");
while($fetch = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
$e = array();
$e['id'] = $fetch['id'];
$e['title'] = $fetch['title'];
$e['start'] = $fetch['startdate'];
$e['end'] = $fetch['enddate'];
$allday = ($fetch['allDay'] == "true") ? true : false;
$e['allDay'] = $allday;
array_push($events, $e);
}
echo json_encode($events);
我在我的sql查询中放了一个数字而不是$ space就可以了,但是在这个$ space中我没有收到一个正确的数字,那我怎么能做这个东西?
答案 0 :(得分:0)
您正在传递数据,就好像它是fullcalendar函数中的URL一样 改变这个:
data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone+'&pisoid='+pisoid,
要:
data: {type: 'new', title: title, startdate: start, zone: zone, pisoid: pisoid}
像这样你传递不同的变量(类型,标题等等)到你在PHP文件中使用的超全局。
说明: 数据数组的构造如下:'nameofattribute':variable JavaScript将负责创建URL /发布数据
您的问题是,您正在尝试使用POST变量获取您传递的数据的“GET”参数(我可能不添加密钥)。尝试切换它们,它应该有帮助