Проблема загрузки событий Fullcalendar.io - PullRequest
0 голосов
/ 11 мая 2018

Мы используем fullcalendar.io и хотим получить событие от нашего контроллера API.

Наш контроллер

[Route("api/Bookings")]
public class BookingApiController
{

    // GET
    [HttpGet]
    public string Get()                   
    {

        var returnJson = new
        {
            events = new[]
            {
                new {title = "bro", start = "2018-05-06"},
                new {title = "bro2", start = "2018-05-05"}
            }
        };
        return JsonConvert.SerializeObject(returnJson);

    }
}

Наш файл JavaScript

$(function () {

    $('#calendar').fullCalendar({
        //weekends : false

        dayClick: function (date) {

            window.location.href = "/Booking/Booking?selectedDate=" + date.format();
        },

        eventSources: [
            {
                url: '/api/Booking',
                color: 'yellow',    // an option!
                textColor: 'black'  // an option!
            }
        ]

    })
});

Однако сценарий javascript никогда не получает событие правильно. Мы видим, что он получает JSON, но не добавляет событие в календарь правильно.

1 Ответ

0 голосов
/ 11 мая 2018

Как выглядит окончательный возвращенный JSON (вы можете увидеть это, если посмотрите свой запрос ajax в инструментах браузера)?

fullCalendar ожидает плоский массив событий, но похоже, что вы возвращаете их в другом объекте, поэтому fullCalendar их не увидит. Он просто будет предполагать, что не было событий для возврата.

Я подозреваю, что вы получаете что-то вроде этого:

{
  events: [ 
    //...array of events
  ]
}

тогда как вам нужно просто это:

[
    //...array of events
]

Это не проверено, но я уверен, что это исправит:

[HttpGet]
public string Get()                   
{
    var events = new[]
    {
        new {title = "bro", start = "2018-05-06"},
        new {title = "bro2", start = "2018-05-05"}
    };

    return JsonConvert.SerializeObject(events);
}

Обратите внимание на отсутствие внешнего объекта returnJson в этой версии.

См. https://fullcalendar.io/docs/events-json-feed для описания системы подачи событий (которую вы используете), но также здесь https://fullcalendar.io/docs/events-array для примера формата объекта, необходимого для формирования действительного списка событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...