Fullcalendar 完整日历,资源作为功能don';行不通
我正在使用Fullcalendar,并且我正在尝试获取资源作为功能Fullcalendar 完整日历,资源作为功能don';行不通,fullcalendar,fullcalendar-scheduler,Fullcalendar,Fullcalendar Scheduler,我正在使用Fullcalendar,并且我正在尝试获取资源作为功能 resources: function(callback){ var manageEvent = new ManageEvent(); var request = manageEvent.getEmployees(); request.always(function (param) { //location.reload();
resources: function(callback){
var manageEvent = new ManageEvent();
var request = manageEvent.getEmployees();
request.always(function (param) {
//location.reload();
var list = [];
var emp;
for (var elem in param) {
emp = param[elem];
list.push({
'id': emp['cp_collaboratore'],
'title': emp['cognome_col']
});
}
var t = JSON.stringify(list);
callback(t);
});
request.catch(function (param) {
alert('errore');
});
},
我通过log检查了变量“t”,结果如下:
[{"id":"1","title":"name_1"},{"id":"2","title":"name_2"},{"id":"3","title":"name_3"},{"id":"5","title":"name_4"},{"id":"9","title":"name_5"}]
但它不工作,并显示以下错误消息:
Uncaught TypeError: resourceInputs.map is not a function
at ResourceManager.setResources
你只需要写
callback(list);
代码中的t
是一个字符串,因为您使用JSON.stringify()
将list
数组转换为字符串。但是fullCalendar需要的是实际的数组,而不是字符串。它不能运行函数或从字符串中读取单个属性
您可以删除行var t=JSON.stringify(列表)代码>完全不需要
通常,使用stringify()的唯一原因是,如果希望将值记录到控制台进行调试,或者如果希望使用AJAX将数组发送到其他地方,则将其转换为JSON。当您可以只使用对象本身时,在JavaScript内部将数组和对象作为序列化字符串传递是没有意义的。它是一个类似于数组的对象,而不是数组@这不是问题所在。看看我的答案。OP传递的是字符串,而不是任何类型的数组。如果他们的变量没有字符串化,那么它已经是一个数组了。非常感谢@马可:没问题。不过,你能感谢我的最好办法就是把答案标为“接受”。单击问题旁边的勾号符号,使其变为绿色。谢谢你。