События полного календаря Jquery по вызову ajax

я очень сильно сложен, чтобы отображать события, обновляя запись в моей базе данных. Первоначально я успешно визуализировал события;

У меня есть массив событий как:

{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new
 Date(2013, m, 05, 10,00), allDay: false},{title: 'Available', start:
 new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50),
 allDay: false}

Который будет отображаться в каландре через:

events:[<?php echo $events?>]

До этого код работает хорошо и отображает событие в соответствии с требованиями.

После нажатия кнопки «Предыдущий» я должен отображать события, обновляя базу данных. Это что-то вроде этого:

 $('.fc-button-next span').live('click', function() {
        var calandar = $('#calandar');
         $.ajax({
            url: 'fetchEvents',
            dataType: 'JSON',
            type: 'POST',
            success: function(doc) {
                calandar.fullCalendar('removeEvents',event),
               calandar.fullCalendar( 'renderEvent',doc.events);
               calandar.fullCalendar('rerenderEvent',doc.events);
            }
        });
});

Где "fetchEvents" возвращает тот же формат события, что и раньше, но в формате JSON, например:

"{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false}"

Не знаю, как отображать объекты событий JSON при событии следующего щелчка. То есть я должен отображать совершенно новые события через вызов ajax. Пожалуйста, предложите.

Решено:

Вместо событий, которые я создал, я создаю JSON событий, как предложил Лукаш Козиара, как в его первом предложении, чтобы каждый раз, когда происходит событие календаря, оно получало eventSource для получения событий. СОБЫТИЕ JSON

[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}]

Вместо событий я сделал вызов ajax с помощью in eventSources, чтобы получить этот тип JSON EVENTS.. Это выглядит так:

 eventSources: [{
                    url: 'fetchEvents',
                    type: 'POST'
                }]

Таким образом, когда calander рендерится в первый раз или нажимаются кнопки next, previous или today, calander он сам выбирает события, как указано eventSources.


person tnchalise    schedule 03.06.2013    source источник


Ответы (1)


Первое предложение: почему бы не использовать один тип источника событий? Например, используйте фид JSON — вы можете получить диапазон событий по параметрам GET start и end, поэтому, если вы измените месяц или представление, вы можете отправлять из базы данных соответствующие события.

Второе предложение: если вам обязательно нужны два типа источников событий, попробуйте использовать addEventSource / удалитьEventSource

person Lukasz Koziara    schedule 04.06.2013
comment
Да, я пытался сделать так, как в вашем первом предложении, как тот же источник событий: [{url: 'fetchEvents'}]. Но события не отображаются в указанном формате json. - person tnchalise; 04.06.2013
comment
Сначала проверьте, не попала ли функция fullcalendar в вашу функцию fetchEvents. Если нет, укажите свою функцию без параметра url. - person Lukasz Koziara; 04.06.2013
comment
Спасибо за ваше предложение. Я отредактировал то, что хочу, с вашими мыслями. Я отмечу ваш ответ для ваших предложений. - person tnchalise; 04.06.2013
comment
Если есть что-то, чего я не понимаю в получении событий с сервера, так это то, как будет выглядеть серверный код с точки зрения запросов PHP/SQL. Приведенный выше код относится исключительно к коду на стороне клиента. - person Dimitris Papageorgiou; 13.03.2014