为什么fullcalendar无法解析JSON?

问题描述 投票:1回答:2

Summary

我已经设置了fullcalendar,我正在尝试使用JSON事件源在其中显示数据,如文档here中所述。

我一直收到以下失败消息Failure parsing JSON

Things I've tried

这是JSON,它将触发失败消息[{"title":"Lorem Ipsum","start":"2019-04-01","end":"2019-04-02"},{"title":"The Test","start":"2018-09-01","end":"2018-09-02"}]

我使用的是fullcalendar 4.0.2版。 我已经验证了我的PHP代码在linter中返回的json。 我在json响应中添加了一个Content-Type: application/json标头。 我尝试使用eventDataTransform钩子返回在fullcalendar文档here中找到的一些示例JSON(请参阅编辑历史中的代码)

~~奇怪的是,当我将上面的JSON直接放在events选项的javascript中时,它确实有效.~~编辑:正如Jaromanda X和Quentin所指出的,这是一个javascript数组,而不是JSON。

Code

    var calendar = new FullCalendar.Calendar(calendarEl, {
        plugins: [ 'dayGrid' ],
        defaultView: 'dayGridMonth',
        locale: 'nl',
        events: '/fullcalendar/json.php'
    });

我希望我的json可以解析,因为响应与我直接给events选项的响应相同

附加信息

json.php文件的内容

<?php
header('Content-Type: application/json');
echo json_encode([
    [
        'title' => 'Lorem Ipsum',
        'start' =>  '2019-04-01',
        'end' =>  '2018-04-02'
    ],
    [
        'title' => 'The Test',
        'start' =>  '2018-09-01',
        'end' =>  '2018-09-02'
    ]
]);exit;

我已经尝试将方法更改为GET,但没有帮助。

我附上了检查员JSON response in inspector的网络标签中看到的响应的屏幕截图

javascript json fullcalendar fullcalendar-4
2个回答
1
投票

我担心我的解决方案可能对其他任何人都没有多大用处,但在这里。

该错误是由于我们的主js文件中的以下js代码行引起的。

  if($('table').length > 0){
         $('table').wrap('<div class="table-scroll"></div>');
    }

此行与fullcalendar生成的HTML输出混淆,然后抛出qazxsw poi错误。


0
投票

我在php页面中尝试了你的代码并调用fullcalendar作为failure parsing json我不知道什么导致你的问题。工作完美。

events: '/fullcalendar/json.php'

但是请考虑一下你的日期。您的开始时间是2019年,结束时间是2018年。还要插入时间查看您的活动地点。

© www.soinside.com 2019 - 2024. All rights reserved.