Javascript 使用MVC和JSON的jquery FullCalendar
我只是想做一些非常简单的开始 我正在使用以下jQuery FullCalendar: 当我将事件数据添加为数组时(如文档示例所示),日历将被填充。然而,当我尝试通过jQuery执行此操作时,我得到了一个有效的JSON响应,但事件没有填充Javascript 使用MVC和JSON的jquery FullCalendar,javascript,jquery,asp.net-mvc,json,fullcalendar,Javascript,Jquery,Asp.net Mvc,Json,Fullcalendar,我只是想做一些非常简单的开始 我正在使用以下jQuery FullCalendar: 当我将事件数据添加为数组时(如文档示例所示),日历将被填充。然而,当我尝试通过jQuery执行此操作时,我得到了一个有效的JSON响应,但事件没有填充 $(document).ready(function () { // page is now ready, initialize the calendar... $('#calendar').fullCalendar({
$(document).ready(function () {
// page is now ready, initialize the calendar...
$('#calendar').fullCalendar({
events: {
url: '../calendar/GetCalendarData',
type: 'GET',
data: {},
success: function (doc) {
//alert(doc.title + ' ' + doc.start);
var events = [];
events.push(doc);
alert(events[0].title + ' ' + events[0].start);
},
error: function() {
alert('there was an error while fetching events!');
},
color: 'yellow', // a non-ajax option
textColor: 'black' // a non-ajax option
}
});
// Code and Documents: http://fullcalendar.io/
});
[HttpPost]
public ActionResult PostCalendarData()
{
return Json(new { title = "Free Pizza", allday = "false", borderColor = "#5173DA", color = "#99ABEA", textColor = "#000000", description = "<p>This is just a fake description for the Free Pizza.</p><p>Nothing to see!</p>", start = "2015-01-04T22:00:49", end = "2015-01-01", url = "http=//www.mikesmithdev.com/blog/worst-job-titles-in-internet-and-info-tech/" });
}
[HttpGet]
public ActionResult GetCalendarData()
{
return Json(new { title = "Free Pizza", allday = "false", borderColor = "#5173DA", color = "#99ABEA", textColor = "#000000", description = "<p>This is just a fake description for the Free Pizza.</p><p>Nothing to see!</p>", start = "2015-01-04T22:00:49", end = "2015-01-01", url = "http=//www.mikesmithdev.com/blog/worst-job-titles-in-internet-and-info-tech/" }, JsonRequestBehavior.AllowGet);
}
我看到堆栈上的其他人也有类似的问题,但我没有看到如何在这个日历中使用AJAX和JSON的示例
$(document).ready(function () {
var events = [];
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: source,
type: 'POST',
data: { },
success: function (doc) {
events.push(doc);
callback(events);
}
});
}
});
});
我还尝试使用eventSources:documentation/example获得相同的结果
更新:
我根据我尝试过的不同东西更新了我的代码。还是没有运气。我已经看过了日期格式。我尝试过系统生成的日期,但我看到的一切似乎都指向基于字符串的日期(这是我在更新的代码中尝试过的)。不幸的是,这仍然不起作用(至少对我来说)
仍在寻求帮助。答案在函数参数中。一旦这些数据被输入,那么数据就会被填充到日历中
$(document).ready(function () {
var events = [];
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: source,
type: 'POST',
data: { },
success: function (doc) {
events.push(doc);
callback(events);
}
});
}
});
});
答案在函数参数中。一旦这些数据被输入,那么数据就会被填充到日历中
$(document).ready(function () {
var events = [];
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: source,
type: 'POST',
data: { },
success: function (doc) {
events.push(doc);
callback(events);
}
});
}
});
});
答案在函数参数中。一旦这些数据被输入,那么数据就会被填充到日历中
$(document).ready(function () {
var events = [];
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: source,
type: 'POST',
data: { },
success: function (doc) {
events.push(doc);
callback(events);
}
});
}
});
});
答案在函数参数中。一旦这些数据被输入,那么数据就会被填充到日历中
$(document).ready(function () {
var events = [];
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: source,
type: 'POST',
data: { },
success: function (doc) {
events.push(doc);
callback(events);
}
});
}
});
});
我不知道这对你来说是否仍然是个问题,但我确实设法让它对我有用。我几乎有一个确切的病例。 以下是我的例子:
[HttpGet]
public JsonResult SerializeEvent(int id)
{
var sesh = Umbraco.TypedContent(id).Descendants("courseSession");
var eventList = new List<EventModel>();
foreach (var item in sesh)
{
var eventObj = new EventModel();
eventObj.start = item.GetPropertyValue<DateTime>("startDate").ToString("yyyy-MM-dd");
eventObj.end = item.GetPropertyValue<DateTime>("endDate").ToString("yyyy-MM-dd");
eventObj.title = item.Parent.Name;
eventObj.url = item.Parent.Url;
eventList.Add(eventObj);
}
return Json(eventList, JsonRequestBehavior.AllowGet);
}
[HttpGet]
公共JsonResult序列化事件(int id)
{
var sesh=Umbraco.TypedContent(id).subjections(“courseSession”);
var eventList=新列表();
foreach(sesh中的var项目)
{
var eventObj=新的EventModel();
eventObj.start=item.GetPropertyValue(“startDate”).ToString(“yyyy-MM-dd”);
eventObj.end=item.GetPropertyValue(“endDate”).ToString(“yyyy-MM-dd”);
eventObj.title=item.Parent.Name;
eventObj.url=item.Parent.url;
eventList.Add(eventObj);
}
返回Json(eventList,JsonRequestBehavior.AllowGet);
}
对我来说,不同之处在于将方法返回类型从ActionResult
更改为JsonResult
,并将第二个参数“JsonRequestBehavior.AllowGet
”添加到返回函数中
希望这能有所帮助。我不知道这对你来说是否仍然是一个问题,但我确实设法让它对我有用。我几乎有一个确切的病例。 以下是我的例子:
[HttpGet]
public JsonResult SerializeEvent(int id)
{
var sesh = Umbraco.TypedContent(id).Descendants("courseSession");
var eventList = new List<EventModel>();
foreach (var item in sesh)
{
var eventObj = new EventModel();
eventObj.start = item.GetPropertyValue<DateTime>("startDate").ToString("yyyy-MM-dd");
eventObj.end = item.GetPropertyValue<DateTime>("endDate").ToString("yyyy-MM-dd");
eventObj.title = item.Parent.Name;
eventObj.url = item.Parent.Url;
eventList.Add(eventObj);
}
return Json(eventList, JsonRequestBehavior.AllowGet);
}
[HttpGet]
公共JsonResult序列化事件(int id)
{
var sesh=Umbraco.TypedContent(id).subjections(“courseSession”);
var eventList=新列表();
foreach(sesh中的var项目)
{
var eventObj=新的EventModel();
eventObj.start=item.GetPropertyValue(“startDate”).ToString(“yyyy-MM-dd”);
eventObj.end=item.GetPropertyValue(“endDate”).ToString(“yyyy-MM-dd”);
eventObj.title=item.Parent.Name;
eventObj.url=item.Parent.url;
eventList.Add(eventObj);
}
返回Json(eventList,JsonRequestBehavior.AllowGet);
}
对我来说,不同之处在于将方法返回类型从ActionResult
更改为JsonResult
,并将第二个参数“JsonRequestBehavior.AllowGet
”添加到返回函数中
希望这能有所帮助。我不知道这对你来说是否仍然是一个问题,但我确实设法让它对我有用。我几乎有一个确切的病例。 以下是我的例子:
[HttpGet]
public JsonResult SerializeEvent(int id)
{
var sesh = Umbraco.TypedContent(id).Descendants("courseSession");
var eventList = new List<EventModel>();
foreach (var item in sesh)
{
var eventObj = new EventModel();
eventObj.start = item.GetPropertyValue<DateTime>("startDate").ToString("yyyy-MM-dd");
eventObj.end = item.GetPropertyValue<DateTime>("endDate").ToString("yyyy-MM-dd");
eventObj.title = item.Parent.Name;
eventObj.url = item.Parent.Url;
eventList.Add(eventObj);
}
return Json(eventList, JsonRequestBehavior.AllowGet);
}
[HttpGet]
公共JsonResult序列化事件(int id)
{
var sesh=Umbraco.TypedContent(id).subjections(“courseSession”);
var eventList=新列表();
foreach(sesh中的var项目)
{
var eventObj=新的EventModel();
eventObj.start=item.GetPropertyValue(“startDate”).ToString(“yyyy-MM-dd”);
eventObj.end=item.GetPropertyValue(“endDate”).ToString(“yyyy-MM-dd”);
eventObj.title=item.Parent.Name;
eventObj.url=item.Parent.url;
eventList.Add(eventObj);
}
返回Json(eventList,JsonRequestBehavior.AllowGet);
}
对我来说,不同之处在于将方法返回类型从ActionResult
更改为JsonResult
,并将第二个参数“JsonRequestBehavior.AllowGet
”添加到返回函数中
希望这能有所帮助。我不知道这对你来说是否仍然是一个问题,但我确实设法让它对我有用。我几乎有一个确切的病例。 以下是我的例子:
[HttpGet]
public JsonResult SerializeEvent(int id)
{
var sesh = Umbraco.TypedContent(id).Descendants("courseSession");
var eventList = new List<EventModel>();
foreach (var item in sesh)
{
var eventObj = new EventModel();
eventObj.start = item.GetPropertyValue<DateTime>("startDate").ToString("yyyy-MM-dd");
eventObj.end = item.GetPropertyValue<DateTime>("endDate").ToString("yyyy-MM-dd");
eventObj.title = item.Parent.Name;
eventObj.url = item.Parent.Url;
eventList.Add(eventObj);
}
return Json(eventList, JsonRequestBehavior.AllowGet);
}
[HttpGet]
公共JsonResult序列化事件(int id)
{
var sesh=Umbraco.TypedContent(id).subjections(“courseSession”);
var eventList=新列表();
foreach(sesh中的var项目)
{
var eventObj=新的EventModel();
eventObj.start=item.GetPropertyValue(“startDate”).ToString(“yyyy-MM-dd”);
eventObj.end=item.GetPropertyValue(“endDate”).ToString(“yyyy-MM-dd”);
eventObj.title=item.Parent.Name;
eventObj.url=item.Parent.url;
eventList.Add(eventObj);
}
返回Json(eventList,JsonRequestBehavior.AllowGet);
}
对我来说,不同之处在于将方法返回类型从ActionResult
更改为JsonResult
,并将第二个参数“JsonRequestBehavior.AllowGet
”添加到返回函数中
希望这有帮助。您的后端
Datetime
格式在中无效javascript@charlietfl-那么正确的方法是什么?从server@charlietfl-我也试过用p