我在使用资源日视图(源:https://github.com/ikelin/fullcalendar)在FullCalendar 1.5.4中返回数组时遇到问题。
这是我的控制器:
[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);
答案 0 :(得分:0)
从您的代码中,您尚未定义ListOfResources
,因此callback(ListOfResources);
无效。
我相信你想传递listOfResources into the
回调。注意不同的外壳:
callback(listOfResources)