使用控制器操作中的.getJSON()来解决FullCalendar渲染事件的问题

时间:2016-11-15 11:14:08

标签: jquery ajax fullcalendar getjson

我在FullCalendar的月视图中将事件渲染到一天时遇到问题。下面是razor页面中的.getJSON调用,后面是控制器JsonResult和Web控制台中显示的对象。

根据示例的硬编码工作完美但我正在努力调试实际作为_calendarEvents传递到_calendarInit()的内容。

var _calendarEvents = [];
    $.getJSON('/Timesheets/GetAll', function (data) {
        var _calendarEvents = data;
    })

public JsonResult GetAll()
    {

        var timesheet = _context.Timesheet
            .Include(t => t.Program)
            .Include(t => t.Task)
            .Select(t => new
            {
                id = t.Id.ToString(),
                title = t.Name,
                start = t.TaskStart,
                end = t.TaskEnd,
                className = "['bg-primary']",
                description = t.Description,
                icon = "fa-clock-o",
                program = t.Program.Name,
                task = t.Task.Name,
                allDay = t.AllDay
            }).ToList();

        return Json(timesheet);
    }

enter image description here

对我来说,数据看起来还不错。我想知道它是否是异步getJSON()的一个问题,这意味着它不是渲染事件的内容或沿着那些线的东西。

非常感谢所有人。

1 个答案:

答案 0 :(得分:0)

不理解事物的逻辑顺序是我的问题。以下工作归功于LogicalOrderReturning Response of Async Call

中的答案
/*GET*/
    function getEvents(callback) {
        $.getJSON('/Timesheets/GetAll', callback);
    }

    var _calendarEvents = [];
    getEvents(function (json) {
        _calendarEvents = json;
        // your logic here
    });