2013-11-21 3 views
1

У меня возникла проблема с возвратом массива в FullCalendar 1.5.4 с представлением дня ресурса (источник: https://github.com/ikelin/fullcalendar).
Вот мой контроллер:Ошибка при попытке отобразить ресурсы в fullCalendar

[HttpPost] 
public JsonResult GetResources() 
    {   
    var data =db.Patients.ToList();    
    return Json(data.Select(i => new 
     { 
      id = i.PatientID, 
      name = i.FirstName + " " + i.LastName 
     }),JsonRequestBehavior.AllowGet); 
    } 


Вот мое мнение:

var calendar = $('#calendar').fullCalendar({ 
     defaultView: 'resourceDay', 
     resources: function (callback) { 
      $.ajax({ 
       type: "post", 
       url: '@Url.Action("GetResources", "Patient")', 
       success: function (d) {       
        var listOfResources = []; 
         for (var i = 0, len = d.length; i < len; i++) { 
          var item = d[i]; 
          listOfResources.push(item); 
          console.log(listOfResources[i].name); 
         } 
         callback(listOfResources); 
       }, 

        error: function (e) { 
         debugger; 
        } 
      }); 
     } 
}) 


Вот мой результат JSON

0  Object { id=1, name="Marie Curie"} 
1  Object { id=2, name="Gustave Eiffel"} 


и мой ответ:

[{"id":1,"name":"Marie Curie"},{"id":2,"name":"Gustave Eiffel"}] 

возвращение console.log (listOfResources [я] .name):

Marie Curie 
Gustave Eiffel 

Вот моя ошибка:

TypeError: resources[i] is undefined 
headCell.html(resources[i].name); 
+0

Не могли бы вы включить функцию, которая служит в качестве обратного вызова? Похоже, проблема связана не с кодом, который вы опубликовали. –

+0

function callback (array) {return array} – Cyril

+0

и теперь функция callback undefined – Cyril

ответ

0

С вашего кода вы не указали ListOfResources, поэтому callback(ListOfResources); не работал.

Я считаю, вы хотите перейти в listOfResources into the callback`. Обратите внимание на разный корпус:

callback(listOfResources) 
+0

Ошибка при выполнении была выполнена, когда я скопировал код в Stackoverflow :) Так что ошибка не возникает из-за этого – Cyril

Смежные вопросы