2

为什么我的日历没有将 JSON 提要中的数据放到我的网页上?

<script type='text/javascript'>
$(document).ready(function() {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var calendar = $('#calendar').fullCalendar({
        events: 'myfeed.php',
    header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        selectable: true,
        selectHelper: true,
    eventSources: [

    // your event source
    {
        url: '/myfeed.php', // use the `url` property
        color: 'red',    // an option!
        textColor: 'black'  // an option!
    }
    // any other sources...
],
  eventClick: function(calEvent, jsEvent, view) {
if (!confirm("Are you sure you want to delete this?")) {
    }
else
{
    // remove calender, and post the info to page 
$.post("mybook.php", { idnumber: calEvent.id, remove: '1' } );
$('#calendar').fullCalendar('removeEvents', [calEvent.id]);
}
}
    });     
});
</script>

JSON 提要 PHP 代码

<?php    $arr = array('id' => '1', 'title' => 'Apples', 'start' => '1372530615', 'end' => '1372537615', 'allDay' => false);
echo json_encode($arr);
?>

Charles Web 调试器显示脚本正在评估正确的页面,并且它有响应。但是,我的日历什么也没做。:( 我认为这可能是因为我使用的是 SSL,但我已经尝试了两种方式。

将我的代码减少到

<script type='text/javascript' src='jquery-1.9.1.min.js'></script>
<script type='text/javascript' src='fullcalendar.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
var calendar = $('#calendar').fullCalendar({
    events: 'myfeed.php'
});     
});
</script>

JSON 提要输出

{"id":"1","title":"Apples","allDay":false,"start":"1372507615","end":"1372537615"}
4

4 回答 4

1

eventSources如果您已经在使用events属性,请删除。

于 2013-06-29T19:46:49.453 回答
0

必须将 [ ] 放在我的 JSON 输出周围。

于 2013-07-01T00:12:00.853 回答
0

我想确认上面接受的答案。我已经看到了几个这样的关于事件没有出现在 FullCalendar 中的问题,特别是 JSON,并且解决方案似乎是关于语法的。您必须准确地向 FullCalendar 提供它想要看到的内容,并且关于这一点的文档有些不清楚。期待大量的试验和错误。

于 2014-05-23T17:34:29.040 回答
0

我遇到了同样的问题,并做了以下事情来让它工作:

  1. 确保末尾有方括号 []
  2. 确保最后没有多余的逗号(这就是我的原因) - 显然在使用内联参数时可以使用它,但是从 JSON 加载时会出现这个问题
  3. 对 fiend 和 values 使用双引号。
  4. 我最终重写了我的 php 以创建一个对象数组,将值加载到数组中,然后将其转换为 JSON(这解决了上述所有 JSON 格式问题)

我的 JSON 输出如下所示:

[{"title":"Vishal","start":"2018-01-12 00:00:00","end":"2018-01-12 10:00:00"},{"title":"Vishal","start":"2018-01-14 14:00:00","end":"2018-01-14 15:00:00"}]

我的 PHP 代码如下所示:

$data = array();

foreach($results as $run)
{

    $obj = (object) [
    'title' => $run->firstname,
    'start' => $run->startdatetime,
    'end' => $run->enddatetime
    ];

    $data[] = $obj;

}
echo json_encode($data);

我希望这有帮助。

于 2018-01-13T04:51:04.563 回答