我在FullCalendar 1.5.4中使用资源日视图返回数组时遇到问题(来源:https://github.com/ikelin/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[i].name)的返回:
Marie Curie
Gustave Eiffel
这里是我的错误:
TypeError: resources[i] is undefined
headCell.html(resources[i].name);
根据您的代码,您还没有定义ListOfResources
,因此callback(ListOfResources);
将不起作用。
我相信你想传入listOfResources into the
回调`。注意不同的外壳:
callback(listOfResources)