Fullcalendar 完整日历,资源作为功能don';行不通

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();

我正在使用Fullcalendar,并且我正在尝试获取资源作为功能

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传递的是字符串,而不是任何类型的数组。如果他们的变量没有字符串化,那么它已经是一个数组了。非常感谢@马可:没问题。不过,你能感谢我的最好办法就是把答案标为“接受”。单击问题旁边的勾号符号,使其变为绿色。谢谢你。