【问题标题】:FullCalendar Json string quotes propertiesFullCalendar Json 字符串引号属性
【发布时间】:2019-03-12 20:52:48
【问题描述】:

已解决(见 N69S 的评论)
(使用 Laravel)
我想在事件日历中显示我的事件,但是当我尝试解析我的 json 时,它返回这行代码:

"start":"2018-10-01 10:00:00","end":"2018-10-01 13:00:00","title":"Beamer"

我知道 FullCalendar 需要对象而不是字符串,但我找不到明确的答案。
这是我的控制器:

public function calendar()
{
    $columns = [
        'start_time AS start',
        'end_time AS end',
        'title AS title',
        'name AS name'
    ];
    $allBookings = Bookings::get($columns);
    $bookings = $allBookings->toJson();
    return view('booking.calendar', compact('bookings'));
}

这是我的看法:

<script src='{{asset('js/moment.js')}}'></script>
<script src='{{asset('js/jquery.js')}}'></script>
<script src='{{asset('js/jqueryui.js')}}'></script>
<script src='{{asset('js/calendar.js')}}'></script>
<div class="container">
    <div class="row">
        <div class="col-md-12 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Book Asset</div>
                <div class="panel-body">
                    <div id='calendar' class="calendar"></div>
                </div>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript">
    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek'
        },
        editable: true,
        selectable: true,
        selectHelper: true,
        events: [
            JSON.parse({!! $bookings !!}) 
});
</script>

如果你能帮助我,那将是一个巨大的帮助。提前致谢!

【问题讨论】:

    标签: javascript php json laravel fullcalendar


    【解决方案1】:

    使用toJson() 方法将您的Collection 转换为string。 不需要解析Json,直接定义即可。

    <script type="text/javascript">
    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek'
        },
        editable: true,
        selectable: true,
        selectHelper: true,
        events: {!! $bookings !!} 
    });
    

    如果你想解析它,把它作为字符串传递:

      [
          JSON.parse('{!! $bookings !!}')
      ]
    

    【讨论】:

    • 我现在收到此错误:ErrorException (E_ERROR) Call to a member function toJson() on string (View: /home/vagrant/code/resources/views/booking/calendar.blade.php)
    • 很抱歉没有在控制器中看到toJson()。只是失去视图中的方法。编辑了答案
    • 我的 IDE 提到了一个错误:此行预期表达式:events: {!! $bookings !!}, 它也没有在日历中显示事件数据。
    • 你的 IDE 并不知道一切;)。我建议您检查 HTML 结果(在您的浏览器中)以检查错误在哪里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多