gpt4 book ai didi

javascript - 使用 Ajax 在完整日历上显示数据而不显示记录

转载 作者:行者123 更新时间:2023-11-28 03:13:53 24 4
gpt4 key购买 nike

我创建了一个完整日历并使用 ajax 从数据库表中填充事件。

我可以看到图表显示,但它没有填充数据库中的事件,而是显示今天的日期和时间,并且仅显示一个事件。

我不确定我做错了什么。

我正在关注本教程: http://www.dotnetawesome.com/2017/06/event-calendar-in-aspnet-mvc.html

什么是 currently displaying

Script which is in my Layout page

    <script>
$(document).ready(function () {
var events = [];
$.ajax({
type: "GET",
url: "/Calendar/Schedules",
success: function (data) {
$.each(data, function (i, v) {
events.push({
title: v.Subject,
description: v.Description,
start: moment(v.Start),
end: v.EndTime != null ? moment(v.EndTime) : null,
color: v.ThemeColor,
allDay: v.IsFullDay
});
})

GenerateCalender(events);
},
error: function (error) {
alert('failed');
}
})
function GenerateCalender(events) {
$('#calender').fullCalendar('destroy');
$('#calender').fullCalendar({
contentHeight: 400,
defaultDate: new Date(),
timeFormat: 'h(:mm)a',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay,agenda'
},
eventLimit: true,
eventColor: '#378006',
events: events

})
}
});
</script>

Get method under the Calendar Controller

public JsonResult Schedules()
{
var schedules = _context.Schedules.ToList();
var result = new JsonResult(new { Data = schedules});
return new JsonResult(result.Value);
}

最佳答案

however it isn't populating the events from the database

  1. 请注意,您正在学习 ASP.NET Classic 的旧教程,而不是ASP.NET Core。我们返回 JsonResult 的方式已更改:

    public JsonResult Schedules(){    var schedules = _context.Schedules.ToList();    
        
         var result = new JsonResult(new { Data = schedules});
            
        
         return new JsonResult(result.Value);
            return new JsonResult(schedules);}

    现在,我们不再需要为 JsonResult 指定 Data 属性。相反,只需通过 new JsonResult(the_data) 构造一个 JsonResult

  2. 第二个问题是,如果您使用 ASP.NET Core 3.1,则默认返回的 json 为 Camel-Cased。但是,您的 JavaScript 代码可能假定服务器返回的 JSON 是Pascal-Cased。如果是这种情况,请更改您的 js 代码,如下所示:

    events.push({    
        
         title: v.Subject,
            title: v.subject,    
        
         description: v.Description,
            description: v.description,    
        
         start: moment(v.Start),
            start: moment(v.start),    
        
         end: v.EndTime != null ? moment(v.EndTime) : null,
            end: v.endTime != null ? moment(v.endTime) : null,    
        
         color: v.ThemeColor,
            color: v.themeColor,    
        
         allDay: v.IsFullDay
            allDay: v.isFullDay});

关于javascript - 使用 Ajax 在完整日历上显示数据而不显示记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59825838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com