我有一个问题,当我调用ajax时,它不能到达服务器。我看过很多关于这个问题的帖子,但这些帖子对我不起作用。奇怪的是,当我在firefox中使用start with debugger时,这段代码还在工作,它也命中了断点。但是,当我在没有调试器的情况下启动项目时,它在firfox或chrome上都不能工作。哪里出了问题?
这是我的ajax调用:
$(document).ready(function () {
var events = [];
$.ajax({
type: "GET",
url: "Agenda/GetEvents",
success: function (data) {
$.each(data, function (i, v) {
events.push({
title: v.Subject,
description: v.Description,
start: moment(v.StartDateTime),
end: v.EndDateTime != null ? moment(v.EndDateTime) : null,
color: v.ThemeColor,
allDay: v.IsFullDay
});
console.log("Pushing");
})
GenerateCalender(events);
},
error: function (error) {
alert('failed');
}
})
function GenerateCalender(events) {
$('#calender').fullCalendar('destroy');
$('#calender').fullCalendar({
aspectRatio: 1.5,
defaultDate: new Date(),
timeFormat: 'HH:mm',
header: {
left: 'prev,next today',
center: 'title',
right: 'month'
},
eventLimit: true,
eventColor: '#378006',
events: events,
eventClick: function (calEvent, jsEvent, view) {
$('#myModal #eventTitle').text(calEvent.title);
var $description = $('<div/>');
$description.append($('<p/>').html('<b>Starttijd: </b>' + calEvent.start.format("DD-MMM-YYYY HH:mm ")));
if (calEvent.end != null) {
$description.append($('<p/>').html('<b>Eindtijd: </b>' + calEvent.end.format("DD-MMM-YYYY HH:mm ")));
}
$description.append($('<p/>').html('<b>Beschrijving: </b>' + calEvent.description));
$('#myModal #pDetails').empty().html($description);
$('#myModal').modal();
}
})
}
})这是它在AgendaController中需要使用的方法:
[HttpGet]
public JsonResult GetEvents()
{
var listofEvents = db.Events.ToList();
return new JsonResult{ Data = listofEvents, JsonRequestBehavior = JsonRequestBehavior.AllowGet};
}提前谢谢你
发布于 2017-10-07 07:41:25
[HttpGet]
public JsonResult GetEvents()
{
var listofEvents = db.Events.ToList();
return Json (Data = listofEvents, JsonRequestBehavior.AllowGet);
}发布于 2017-10-07 08:02:56
我已经找到解决方案了。问题不在于Ajax调用...问题是控制器上有一个authorize,而我忘了让GetEvents方法允许匿名。很抱歉浪费大家的时间:')我应该删除这篇文章吗?或者我应该不采取进一步的行动?
https://stackoverflow.com/questions/46615149
复制相似问题