Javascript Json字符串找不到控制器方法
使用第三方javascript插件fullcalendar。其中一个选项是dayClick事件,它的作用非常明显。单击一天后,它将立即执行一项操作 因此,我在dayClick函数中使用了ajax,我试图将一个值传递给控制器Javascript Json字符串找不到控制器方法,javascript,jquery,asp.net,json,asp.net-mvc-5,Javascript,Jquery,Asp.net,Json,Asp.net Mvc 5,使用第三方javascript插件fullcalendar。其中一个选项是dayClick事件,它的作用非常明显。单击一天后,它将立即执行一项操作 因此,我在dayClick函数中使用了ajax,我试图将一个值传递给控制器 $(document).ready(function () { $('#calendar').fullCalendar({ height: 170, selectable: true, editable: true,
$(document).ready(function () {
$('#calendar').fullCalendar({
height: 170,
selectable: true,
editable: true,
defaultView: 'basicWeek',
dayClick: function (date, jsEvent, view) {
$.ajax(
{
url: '@Url.Action("Calendar","Home")',
type: "GET",
data: JSON.stringify({ date: date }),
dataType: "json",
contentType: "application/json; charset=utf-8",
cache: false,
success: function (response) {
$("calendarLoad").append($(response));
$('#myModal').modal();
},
error: function (request, status, error) {
alert(error);
alert(status);
alert(request.responseText);
}
});
}
});
});
如果它成功地通过了它,它应该写出我的部分观点。但它没有达到这一点。我已经调试了控制器,日期参数为空
[HttpGet]
public ActionResult Calendar(string date)
{
string[] dateSplit = date.Split(new char[] { 'T' });
DateTime objDate = Convert.ToDateTime(dateSplit[0]);
var content = db.Calendars.Where(x => x.startDate == objDate).ToList();
return PartialView(content);
}
在使用dayClick函数之后,我使用fiddler来监视结果,我看到它试图传递JSON数据,但结果总是错误的
没有结果。应该是:
data: { date: date },
没有任何对JSON.stringify的调用。jQuery将该对象转换为HTTP请求的适当形式。当你向它传递一个字符串时,它假设你已经完成了转换,所以它直接使用字符串,正如你在屏幕截图中突出显示的URL中所看到的那样。不幸的是,我仍然没有得到任何结果。我在索引页面中编写了完整的日历javascript代码。但我试图将数据传递到我的部分视图日历,然后再加载它。通过将ActionResult索引方法中的数据传递给我的ActionResult CalendarGET,这种逻辑是否可行。不太熟悉javascript如何与C交互。@JoshBarber我不是ASP.NET用户,所以我不确定。据我所知,ASP可能需要JSON。看起来您的HTTP请求出现了某种错误;也许你可以检查服务器端日志或者类似的东西。