无法在fullcalendar中创建动态事件

时间:2017-07-11 05:23:09

标签: javascript json ajax

我有一种情况,我试图使用插件fullcalendar动态创建事件我试图在ajax调用的帮助下创建事件,并且检索到的数据是json的形式 当我试图创建事件时,只有在索引0处的事件被创建,其他事件才会被创建

javascript代码如下

function showData()
{ 
    var ids = showValidData(); 
    if (ids.length != 0)
    {
         $.ajax({
         url: $("#base-url").val() ,
         type: 'POST',
         data: {'ids': ids},
         dataType: 'json',
         success: function (response)
         {
             var data = response.data;
             var myevents = [];
             if (response.success)
             {
                 $(data).each(function (index, value) {
                      myevents.push({
                          title: value.layoutName,
                          start: value.startDate,
                          end: value.endDate
                          });
                });
                console.log(myevents);
                $(".fc-event-container").click();
                $('#calendar-example-1').fullCalendar({
                    events: myevents,});
                return;

            }
        }   
       });
     }
 }

1 个答案:

答案 0 :(得分:0)

初始化FullCalendar时设置事件 - 定义从数据库返回json事件的脚本的URL(https://fullcalendar.io/docs/event_data/events_function/)。如果要动态刷新日历,可以在ontop上添加setInterval:

$(document).ready(function(){

 setInterval(function(){$('#calendar').fullCalendar('refetchEvents')}, 30000);


$("#calendar").fullCalendar({
 ...
 events: {
    url: 'script.php',
    type: 'POST',
    data: {
        data1: x,
        data2: y
    },
    success : function(response){
    // do something
    },
 }
});
});