laravel:如何从控制器中的数据库中获取全日历数据

时间:2019-05-10 11:16:00

标签: javascript php jquery ajax laravel

我的控制器:

 public function eventCalender(){
    $eventCalender = [
        'title' => 'Matts Booking',
        'start' => '2019-05-05',
    ];
    $response = [
        'eventCalender'   => $eventCalender,
        'status'    => 1,
    ];
    return response()->json($response);
}


我的js文件:

function getEventCalender() {
    var actionurl = base_url + "/events/event-calender";
    $.ajax({
        type: "GET",
        url: actionurl,
        success: function (res) {
            if (res['status'] == 1) {
                $("#event-list").hide();
                $("#calender-list").show();
            } else {
                console.log("Something went wrong!!!!");
            }
        },
        error: function (jqXHR, exception) {
            $("#errormsg").show();
        }
    });
}
$(document).ready(function () {
    getEventCalender();
    document.addEventListener('DOMContentLoaded', function () {
        var calendarEl = document.getElementById('calendar');

        var calendar = new FullCalendar.Calendar(calendarEl, {

            plugins: ['interaction', 'dayGrid', 'list', 'googleCalendar'],

            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'dayGridMonth,listYear'
            },

            defaultDate: '2019-03-12',
            navLinks: true,
            businessHours: true,
            editable: true,
            event: res.eventCalender,

        });

        calendar.render();
    });
});

所以这是我的控制器和js文件,当我从控制器获取数据时,我想要的是如何在日历中打印该数据?

我正在使用全日历,所以当我添加

document.addEventListener('DOMContentLoaded', function () { }


此功能然后只有我的日历显示在页面中。
如果我将上述功能放到getEventCalender()函数之外,则日历会完美显示,但是当我将其放入getEventCalender()函数中时(如上图所示),日历将不会显示。

1 个答案:

答案 0 :(得分:0)

在所有内容加载完毕后,调用文档就绪函数中的getEventCalender()来执行

$(function() {
   getEventCalender();
})