MySQL、JSON 和全日历

MySQL, JSON and Fullcalendar

我正在努力将 MySQL 事件集成到 Fullcalendar 中。

我读了很多 guide/post 但我无法从 json 脚本导入事件。 现在,如果我将 "myfeed.php" 的 JSON 结果粘贴到 fullcalendar 中,我的日历就会工作并且它包括所有事件。如果我link fullcalendar 到myfeed.php,日历是空的。我也尝试过将我的日历 link 更改为完整日历的 "get-events.php"(应该与 myfeed.php 一起使用),但日历始终是空的。 :/

这是我的完整日历:

$(document).ready(function() {

          $('#calendar').fullCalendar({
              header: {
                  left: 'prev,next today',
                  center: 'title',
                  right: 'month,agendaWeek,agendaDay'
              },
              editable: true,
              eventLimit: true, // allow "more" link when too many events
              events: {
                  url: 'fullcalendar/php/get-events.php',
                  //url: 'fullcalendar/myfeed.php',
                  error: function() {
                      $('#script-warning').show();
                  }
              },
              loading: function(bool) {
                  $('#loading').toggle(bool);
              }
          });

      });

这是myfeed.php的结果:

[{“id”:”1″,”title”:”allenamentosimone”,”allDay”:”false”,”start”:”1423036800″,”end”:”1423044000″,”url”:”pippo”},
{“id”:”2″,”title”:”allenamentodue”,”allDay”:”true”,”start”:”1423310400″,”end”:”1423335600″,”url”:”pluto”}]

myfeed.phpvisible on pastebin (对于站点 jsonformatter,结果是有效的 json,但文件不是有效的 json)。

有什么建议吗?


更新:

我已经更改了事件 url: url: 'fullcalendar/myfeed.php'

另外,我在 YYYY-MM-DD HH:II:SS 中更改了 json 的日期格式,现在我可以在全日历。但是我在全天模式下看到所有事件:/

这是新的 json 返回:

[
{"id":"1","title":"allenamentosimone","allDay":"false","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]

更新 N.2:

如果我不在 allDay 部分写任何东西,我的全日历就可以完美运行!这是最后一次 json 返回:

[
{"id":"1","title":"allenamentosimone","allDay":"","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]

events 应该是单个 url 以从数据库中获取数据。

所以像这样替换事件:

events: 'fullcalendar/php/get-events.php',

检查浏览器检查器是否尝试访问数据库文件。 在 Chrome 中,它使用 Ctrl+Shift+i 打开并导航到 Network 选项卡.数据库 URL 相对于您使用它的浏览器 url。

例如,如果您有第 testfullcalnedar.io/mycalendar 页 假设您的 php 位于 testfullcalnedar.io/mycalendar/fullcalendar/php/get-events.php'.

然后在脚本事件中 feed URL 将是 fullcalendar/php/get-events.php/mycalendar/fullcalendar/php/get-events.php

说明 - 如果您使用 / 开始 feed URL 它将从您域的根开始搜索它否则它将搜索相对于位置的位置脚本是。在我的示例案例中,脚本在 testfullcalnedar.io/mycalendar

下运行