Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将事件属性解析为函数时出现Fullcalendar.io问题_Javascript_Jquery_Fullcalendar_Fullcalendar 4 - Fatal编程技术网

Javascript 将事件属性解析为函数时出现Fullcalendar.io问题

Javascript 将事件属性解析为函数时出现Fullcalendar.io问题,javascript,jquery,fullcalendar,fullcalendar-4,Javascript,Jquery,Fullcalendar,Fullcalendar 4,根据,我试图在每次API触发事件时调用它,如上一次、下一次、月、日或列表视图。就我而言,这项活动完全运作良好。我可以调用API和每个事件,并在名为sessionCalendar[]的数组中收集数据。调用API后,我可以看到数组中有数据 这就是我将所有结果放入数组的地方。注意,为了使代码尽可能简短,我将代码最小化 calendarParse: function(apiData){ for(var i=0; i<apiData.length; i++){

根据,我试图在每次API触发事件时调用它,如上一次、下一次、月、日或列表视图。就我而言,这项活动完全运作良好。我可以调用API和每个事件,并在名为
sessionCalendar[]
的数组中收集数据。调用API后,我可以看到数组中有数据

这就是我将所有结果放入数组的地方。注意,为了使代码尽可能简短,我将代码最小化

calendarParse: function(apiData){

        for(var i=0; i<apiData.length; i++){

            const { bookingId, course, customers, end_date_time, id, lm_firstname, lm_lastname,localmasterId, meeting_id, meeting_type, payout, request_payout_status, sessionDate, session_status, start_date_time, status,attributes }     = apiData[i];

            sessionCalendar.push(
                    {
                        title: `${course["course_name"]}`,
                        start: gbl.datetime_utc(start_date_time),
                        end: gbl.datetime_utc(end_date_time),
                        customers: customersName,
                        localmasterName: lm_firstname + " " + lm_lastname,
                        sessionStatus: session_status,
                        meetingType: meetingtype,
                        payoutStatus: request_payout_status,
                        sessionDate: sessionDate,
                        startTime: gbl.datetime(start_date_time),
                        endTime: gbl.datetime(end_date_time)
                    },
                )

        }


},
日历解析:函数(apiData){ 对于(var i=0;i),它工作正常。现在,当我使用它时,它不工作


所有日期字段均为空。请帮助。

您没有在成功中调用successCallback我做了一些更改。请尝试此操作

events:  function(info, successCallback,failureCallback) {
        console.log(info);

        var date1 = new Date(info.start.valueOf());
        var date2 = new Date(info.end.valueOf());

        var callData = {
            from_date:moment.tz(date1, timeZone).format('YYYY-MM-DD'),
            to_date: moment.tz(date2, timeZone).format('YYYY-MM-DD')
        }
        sessionCalendar = [];
        console.log(callData);
        $.ajax({
              url:app.createApiPath(apiController_data,apiAction_data),
              method:"POST",
              dataType: "json",
              data: {
                    callData: JSON.parse(JSON.stringify(callData)),
                    api_version: 1,
                    deviceType: 'web'
                },
              success: function(responseData){
                console.log({responseData})
             successCallback(app.calendarParse(responseData.data.results));
            }
        })

      },



calendarParse: function(apiData){
        for(var i=0; i<apiData.length; i++){

            const { bookingId, course, customers, end_date_time, id, lm_firstname, lm_lastname,localmasterId, meeting_id, meeting_type, payout, request_payout_status, sessionDate, session_status, start_date_time, status,attributes }     = apiData[i];

            sessionCalendar.push(
                    {
                        title: `${course["course_name"]}`,
                        start: gbl.datetime_utc(start_date_time),
                        end: gbl.datetime_utc(end_date_time),
                        customers: customersName,
                        localmasterName: lm_firstname + " " + lm_lastname,
                        sessionStatus: session_status,
                        meetingType: meetingtype,
                        payoutStatus: request_payout_status,
                        sessionDate: sessionDate,
                        startTime: gbl.datetime(start_date_time),
                        endTime: gbl.datetime(end_date_time)
                    },
                )

        }
        return sessionCalendar;


},
事件:函数(信息、成功回调、失败回调){
控制台日志(信息);
var date1=新日期(info.start.valueOf());
var date2=新日期(info.end.valueOf());
var callData={
from_date:moment.tz(日期1,时区).format('YYYY-MM-DD'),
截止日期:moment.tz(日期2,时区)。格式('YYYY-MM-DD')
}
sessionCalendar=[];
console.log(callData);
$.ajax({
url:app.createApiPath(apiController\u数据、apiAction\u数据),
方法:“张贴”,
数据类型:“json”,
数据:{
callData:JSON.parse(JSON.stringify(callData)),
api_版本:1,
设备类型:“web”
},
成功:功能(responseData){
console.log({responseData})
successCallback(app.calendarParse(responseData.data.results));
}
})
},
calendarParse:函数(apiData){

对于(var i=0;i在向数组中添加事件后,您是否尝试过
calendar.rerendervents()
?似乎不起作用。它显示
calendar.rerendervents())未定义。
在循环结束后,我将其放在calendarParse函数的末尾。在我在这里提出问题之前,我做了类似的操作。我返回数组并调用successCallback函数。但我在$.ajax({})之后调用了该函数.successCallback`method,而不是在它里面:D谢谢它工作了。欢迎,我正在处理完整日历。因此我对完整日历问题很熟悉:)太好了!你知道为什么每次单击引导选项卡时我的日历都会重复吗?此日历在选项卡里面。首先,当日历选项卡使用此选项处于活动状态时,请销毁日历$(#calendar')。fullCalendar('destroy');。我也在选项卡中使用了它。请给我评论的要点。Hi Shahid,上面的内容似乎对我不起作用。我也尝试过v4代码。你能在这里帮助我吗。
events:  function(info, successCallback,failureCallback) {
        console.log(info);

        var date1 = new Date(info.start.valueOf());
        var date2 = new Date(info.end.valueOf());

        var callData = {
            from_date:moment.tz(date1, timeZone).format('YYYY-MM-DD'),
            to_date: moment.tz(date2, timeZone).format('YYYY-MM-DD')
        }
        sessionCalendar = [];
        console.log(callData);
        $.ajax({
              url:app.createApiPath(apiController_data,apiAction_data),
              method:"POST",
              dataType: "json",
              data: {
                    callData: JSON.parse(JSON.stringify(callData)),
                    api_version: 1,
                    deviceType: 'web'
                },
              success: function(responseData){
                console.log({responseData})
             successCallback(app.calendarParse(responseData.data.results));
            }
        })

      },



calendarParse: function(apiData){
        for(var i=0; i<apiData.length; i++){

            const { bookingId, course, customers, end_date_time, id, lm_firstname, lm_lastname,localmasterId, meeting_id, meeting_type, payout, request_payout_status, sessionDate, session_status, start_date_time, status,attributes }     = apiData[i];

            sessionCalendar.push(
                    {
                        title: `${course["course_name"]}`,
                        start: gbl.datetime_utc(start_date_time),
                        end: gbl.datetime_utc(end_date_time),
                        customers: customersName,
                        localmasterName: lm_firstname + " " + lm_lastname,
                        sessionStatus: session_status,
                        meetingType: meetingtype,
                        payoutStatus: request_payout_status,
                        sessionDate: sessionDate,
                        startTime: gbl.datetime(start_date_time),
                        endTime: gbl.datetime(end_date_time)
                    },
                )

        }
        return sessionCalendar;


},