Javascript 将事件属性解析为函数时出现Fullcalendar.io问题
根据,我试图在每次API触发事件时调用它,如上一次、下一次、月、日或列表视图。就我而言,这项活动完全运作良好。我可以调用API和每个事件,并在名为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++){
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;
},