asp.net-core - 使用 fullcalendar 从 razor post 获取 json 的错误请求
问题描述
我已经实施了完整的日历。它确实按预期显示,但获取数据出错
.cshtml
<div id='calendar'></div>
.cshtml.cs
public class IndexModel : PageModel
{
public JsonResult OnPost(DateTime start, DateTime end)
{
return new JsonResult(new
{
url = "something",
title = "something else",
start = ConvertToUnixTimestamp(DateTime.Now).ToString(),
end = ConvertToUnixTimestamp(DateTime.Now.AddDays(2)).ToString(),
allDay = false,
backgroundColor = "red",
textColor = "green"
});
}
}
.js
document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
events: {
url: '/Overview/Employee/Index',
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
method: 'POST'
},
plugins: ['dayGrid']
});
calendar.render();
});
当我加载页面时,我看到一个请求正在发生,但它返回一个 400 错误请求。知道为什么吗?
请求:
解决方案
我尝试了没有 400 错误的代码(@Html.AntiForgeryToken()
在表单中使用),但该事件未成功添加到日历中。它在我返回列表模型时起作用,尝试使用以下代码添加事件:
public class EventModel
{
public int id { get; set; }
public string start { get; set; }
public string end { get; set; }
public string title { get; set; }
public bool allDay { get; set; }
public string url { get; set; }
public string color { get; set; }
public string textColor { get; set; }
}
public class IndexModel : PageModel
{
public JsonResult OnPost(DateTime start, DateTime end)
{
IEnumerable<EventModel> events = new List<EventModel>()
{
new EventModel()
{
url = "something",
title = "something else",
start = (DateTime.Now).ToString(),
end = (DateTime.Now.AddDays(2)).ToString(),
allDay = false,
color = "red",
textColor = "green"
}
};
return new JsonResult(events);
}
}
推荐阅读
- ruby-on-rails - activerecord-multi-tenant /acts_as_tenant 和 Active Admin
- c# - 尝试从 sql 数据库中读取数据并在文本框中显示 - Visual C#(语法错误)
- javascript - 下载完成后 Django 更新模板
- javascript - 在反应中重定向到主页时出错
- rx-java - rxjava 过滤流中的项目与流中的任何其他过滤器不匹配
- amazon-web-services - 通过 ec2 上的 curl 获取实例名称?
- spring - 春季批处理中不想要 JOB_EXECUTION_PARAMS
- python - 如何根据条件将数据框中的一列切成多个系列
- omnet++ - 使用 Venes_inet 从 aodvRouter 向 adhocHost 发送消息时出错
- vue.js - 如何在换页的同时不停顿地听音乐?