Javascript 将数据从数据库映射到JSON对象Fullcalendar

Javascript 将数据从数据库映射到JSON对象Fullcalendar,javascript,ajax,calendar,fullcalendar,google-calendar-api,Javascript,Ajax,Calendar,Fullcalendar,Google Calendar Api,我已经安装了Fullcalendar bundle(Symfony2),并且我添加的所有事件都正确显示。现在我在Fullcalendar.js中添加了eventClick函数(它与open.window('page')一起工作,仅用于测试)。现在,我想在alert()或其他文件中获取有关此事件的所有信息(id、名称等),而不是窗口。open() 我该怎么做 $(function () { /* initialize the calendar --------------------------

我已经安装了Fullcalendar bundle(Symfony2),并且我添加的所有事件都正确显示。现在我在Fullcalendar.js中添加了
eventClick
函数(它与
open.window('page')
一起工作,仅用于测试)。现在,我想在
alert()
或其他文件中获取有关此事件的所有信息(id、名称等),而不是
窗口。open()

我该怎么做

$(function () {
/* initialize the calendar
 -----------------------------------------------------------------*/
//Date for the calendar events (dummy data)
var date = new Date();
var d = date.getDate(),
    m = date.getMonth(),
    y = date.getFullYear();
$('#calendar-place').fullCalendar({
    monthNames: ["Janvier","Février","Mars","Avril","Mai","Juin","Julliet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre" ],
    monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jun','Jul','Aou','Sep','Oct','Nov','Dec'],
    dayNames: [ 'Diamnche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
    dayNamesShort: ['Diu','Dill','Dim','Dix','Dij','Div','Dis'],

    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    buttonText: {
        today: 'today',
        month: 'month',
        week: 'week',
        day: 'day'
    },
    events:
    {
        url:Routing.generate('fullcalendar_loadevents', { month: moment().format('MM'), year: moment().format('YYYY') }),
        color: '#45b2ea',
        textColor:'white',

        error: function() {
            alert('Error receving events');
        }
    },
    viewRender: function (view, element) {
        var month = view.calendar.getDate().format('MM');
        var year = view.calendar.getDate().format('YYYY');
    },

    eventClick: function() {

       window.open('login')
    },





    eventDrop: function(event,delta,revertFunc) {
        var newStartData = event.start.format('YYYY-MM-DD');
        var newEndData = (event.end == null) ? newStartData : event.end.format('YYYY-MM-DD');

        $.ajax({
            url: Routing.generate('fullcalendar_changedate'),
            data: { id: event.id, newStartData: newStartData,newEndData:newEndData  },
            type: 'POST',
            dataType: 'json',
            success: function(response){
                console.log('ok');
            },
            error: function(e){
                revertFunc();
                alert('Error processing your request: '+e.responseText);
            }
        });

    },
    eventResize: function(event, delta, revertFunc) {

        var newData = event.end.format('YYYY-MM-DD');
        $.ajax({
            url: Routing.generate('fullcalendar_resizedate'),
            data: { id: event.id, newDate: newData },
            type: 'POST',
            dataType: 'json',
            success: function(response){
                console.log('ok');
            },
            error: function(e){
                revertFunc();
                alert('Error processing your request: '+e.responseText);
            }
        });

    },
    editable: true

});
});

如果您阅读了eventClick的文档,它会显示回调可用的参数,其中包括一个“event”对象,其中包含单击事件的详细信息

所以你可以这样做:

eventClick: function( event, jsEvent, view ) 
{ 
  alert(event.title);
}

您可以在此处找到事件对象的更多属性:如果您想使用有关该事件的其他信息。

如果您阅读了事件的文档,单击它将显示回调可用的参数,其中包括一个包含单击事件详细信息的“事件”对象

所以你可以这样做:

eventClick: function( event, jsEvent, view ) 
{ 
  alert(event.title);
}

您可以在此处找到事件对象的更多属性:如果您想使用有关事件的其他信息。

是否可以添加任何详细信息,如遇到的错误问题,向社区显示您尝试过的内容。简单地说,eventCLick中始终存在的事件对象未定义它在我的控制台中显示expl标题的未定义属性,尽管eventdrop和事件大小调整工作正常。是否可以添加任何详细信息,如遇到的错误问题,向社区显示您尝试过的内容。简单地说,eventCLick中的event对象始终未定义它在控制台中显示expl标题的undefined属性尽管eventdrop和event resize工作正常,但object事件始终未定义单击我按照文档操作,甚至Drop和resize工作正常eventClick您当前的代码未在eventClick定义中声明事件对象。你必须把它写在那里,就像我在回答中所做的那样。一旦你这么做了,没有理由不工作。这里有一个使用日历设置的工作示例:我用一些示例事件替换了ajax源代码,因为我无法从演示中调用您的ajax URL,但原理是一样的。如果你点击一个事件,会出现一个弹出窗口,显示该事件的标题,没问题。我做了你现在已经做过的事情eventclick(event,jsEVent,view)和一个简单的alert show event.title。它显示了alert(event.title)中的一个错误,可能就像你说的ajax不起作用,如果你点击了一个事件,我就无法获得对象event(因此触发回调),那么您的数据加载ajax至少在某种程度上起到了作用。可能您的事件数据没有提供“标题”字段(它应该提供,因为fullCalendar需要它)?您说“it show me a error in alert”-您得到了什么错误?我有一个标题字段(事件标题)对象事件始终在eventClick中未定义。我按照文档中的说明操作了evenDrop和resize可以正常工作只是eventClick您的代码当前没有在eventClick定义中声明事件对象。您必须在那里编写它,就像我在回答中所做的那样。一旦这样做,它就没有理由不工作。下面是使用日历设置的工作示例:我用一些示例事件替换了ajax源代码,因为我无法从演示中调用您的ajax URL,但原理是一样的。如果单击某个事件,会出现一个弹出窗口,显示该事件的标题,没有问题。我执行您现在已经执行的操作eventclick(event,jsEVent,view)还有一个简单的警报显示event.title它向我显示了警报中的一个错误(event.title),可能就像你说的ajax不起作用,我无法获取对象event如果你有一个事件要点击(并触发回调),那么你的数据加载ajax至少在某种程度上起作用了。也许你的事件数据没有提供“title”字段(应该可以,因为fullCalendar需要它)?你说“it show me a error in alert”-你得到了什么错误?我有一个标题字段(事件标题)