Проблемы рендеринга удаленных событий с использованием JSONP в FullCalendar - PullRequest
0 голосов
/ 24 октября 2010

Я пытаюсь загрузить ленту событий json в плагин FullCalendar jQuery, однако я не понимаю, как передать данные в FullCalendar. URL вызывается, и объект JSON доступен внутри функции eventHandler.

Приведенный ниже код пытается передать полученные данные в глобальную переменную (которая, кажется, не подходит), которая затем передается в FullCalendar.

Как правильно передать данные из запроса в FullCalendar?

function eventHandler(data) {
    events = data;
}


$.ajax({
    dataType: 'jsonp',
    url: 'http://localhost:9393/events/calendar/1.json',
    jsonp: 'callback',
    success: eventHandler
});

Ответы [ 2 ]

2 голосов
/ 01 июля 2014

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

Итак, ваши источники событий могут выглядеть так:

$('#calendar').fullCalendar({
  eventSources: [
    "http://some.domain.com/api/events.json?callback=?",
    "http://another.domain.com/api/events.json?callback=?"
  ]
});

Важной частью является callback=?. Обычно вы используете callback=myspecialfunction, но Fullcalendar будет интерпретировать ? и автоматически добавлять события.

1 голос
/ 24 октября 2010

Если вы будете обращаться к JSON в том же домене (при развертывании), то должно работать следующее:

$('#calendar').fullCalendar({
  events: "http://localhost:9393/events/calendar/1.json"
});

В качестве альтернативы вы смотрите на:

$.getJSON("http://localhost:9393/events/calendar/1.json&jsoncallback=?",
    function(data){
      $('#calendar').fullCalendar(data);
    });
...