2013-11-21 66 views
1

我在使用資源日視圖(來源:https://github.com/ikelin/fullcalendar)返回FullCalendar 1.5.4中的數組時遇到問題。
這裏我的控制器:嘗試在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"} 


和我的響應:

Marie Curie 
Gustave Eiffel 

這裏我的錯誤:

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

的console.log(listOfResources [I]。名稱)的返回

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

您能否包含用作回調的函數?看起來問題不在於您發佈的代碼。 –

+0

函數回調(array){返回數組} – Cyril

+0

和現在的函數回調undefined – Cyril

回答

0

從您的代碼中,您尚未定義ListOfResources,因此callback(ListOfResources);不起作用。

我相信你想通過listOfResources into the callback`。注意不同的外殼:

callback(listOfResources) 
+0

當我將代碼複製到Stackoverflow中時,cast的錯誤已經完成:)所以錯誤不是來自那裏 – Cyril

相關問題