Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完整日历5;来自MVC控制器的JSON源不工作(.NET CORE 3)_Javascript_Ajax_Asp.net Core_Fullcalendar_Fullcalendar 5 - Fatal编程技术网

Javascript 完整日历5;来自MVC控制器的JSON源不工作(.NET CORE 3)

Javascript 完整日历5;来自MVC控制器的JSON源不工作(.NET CORE 3),javascript,ajax,asp.net-core,fullcalendar,fullcalendar-5,Javascript,Ajax,Asp.net Core,Fullcalendar,Fullcalendar 5,我正在.NET CORE 3 MVC项目中实现fullcalendar v5。当硬编码事件时,一切正常,但我似乎无法从JSON字符串中获取事件。日历正在触发获取提要的方法,但不会呈现任何事件。我尝试了一切,在stack overflow中阅读了100多个网页和问题,但都没有用 我的MVC控制器中的方法: [HttpGet] public string GetAllEvents(DateTime Start, DateTime End) { List<GetPromoCalendarE

我正在.NET CORE 3 MVC项目中实现fullcalendar v5。当硬编码事件时,一切正常,但我似乎无法从JSON字符串中获取事件。日历正在触发获取提要的方法,但不会呈现任何事件。我尝试了一切,在stack overflow中阅读了100多个网页和问题,但都没有用

我的MVC控制器中的方法:

[HttpGet]
public string GetAllEvents(DateTime Start, DateTime End)
{
   List<GetPromoCalendarEventsDto> calendarEvents = _promoCalendarAppService.GetAllEvents(Start, End).Result;
   var result = JsonConvert.SerializeObject(calendarEvents); 
   return result;
}
Javascript:

var calendarEl = document.getElementById('promocalendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'timeGridWeek',
    events: 'PromoCalendar/GetAllEvents'
});
calendar.render();

提前谢谢

解决了!我已经将[DontWrapResult]置于方法之上,并且它起了作用。我使用的框架(ABP)将结果与其他数据打包,并对JSON字符串进行双重编码


感谢@ADyson让我走上了正确的道路

查看浏览器的开发者工具-在页面加载时查看网络工具。你看到“GetAllEvents”的条目了吗?它是否返回200 OK结果?如果是这样,那么响应中的具体内容是什么(您必须单击条目以显示此额外信息)?它是否显示了您所期望的内容?此外,控制台区域是否显示任何错误?这是处理此类问题时需要对客户端代码进行的基本调试。理论上,显示为内容结果的内容应该在fullCalendar中有效显示。如果它没有显示,那么您需要使用我上面提到的工具仔细检查到底发生了什么。@ADyson:我看到“GetAllEvents”的一个条目有200个OK结果和以下响应:
error:null结果:“[{”title:“事件一”,“开始”:“2020-06-13”,“结束”:“2020-09-01”},{”title:“事件二”,“开始”:“2020-06-14”,“结束”:”2020-12-30“},{“title”:“Test 20200623.001Y”,“start”:“2020-07-03”,“end”:“2020-08-03”}]“success:true targetUrl:null unAuthorizedRequest:false
您必须仅在JSON中返回事件数组,其中不能有任何其他内容。fullCalendar只希望看到阵列。它不知道如何查看JSON的“results”属性来找到它需要的信息。只要返回一个没有对象的纯数组。当我看到纯响应时,我会看到:{code>{“result”:“[{title\”:“Event one\”,“start\”:“2020-06-13\”,“end\”:“2020-09-01\”,{“title\”:“Event two\”,“start\”:“2020-06-14\,“end\”,“end\”:“end\”:“2020-12-30\”,{“title\”:“Test 20200623.001Y\,“start\”,“start\”:“Test 20200623.001Y\”,“start\”,“start\”,“start\”:“03-”,“end\”,“2020-03\”,“targetUrl”:null,“success”:true,“error”:null,“unAuthorizedRequest”:false,“\uu abp”:true},我想这在很多方面都是错误的。我使用的框架添加了我看到的很多信息。。
var calendarEl = document.getElementById('promocalendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'timeGridWeek',
    events: 'PromoCalendar/GetAllEvents'
});
calendar.render();