我正在一个ASP.NET Core项目中工作。基于ajax调用,我们正在显示数据。但是我很奇怪ajax函数只被调用一次,但是适当的控制器动作方法却被多次调用。我放了调试器以验证一次函数被调用,但结果多次进入成功部分。
这是我的jQuery代码:
function reloadAllOpenSchedule(currentMonth, currentYear) {
var events = {
url: appSetting + 'Calendar/GetSchdules?currentMonth=' + currentMonth + "¤tYear=" + currentYear,
type: 'GET',
data: {},
success: function () {
// Response comes multiple times
}
}
$('#calendar').fullCalendar('removeEventSource', events);
$('#calendar').fullCalendar('addEventSource', events);
}
这是我的控制器方法:
[HttpGet]
public JsonResult GetSchdules(int currentMonth, int currentYear)
{
// my codes here
var rows = eventList.ToArray();
return Json(rows);
}
我正在从下面的代码调用reloadAllOpenSchedule(currentMonth,currentYear)函数
$('#calendar').fullCalendar({
...some code
viewRender: function (view, element) {
...some code
currentMonth = view.start.getMonth() + 1;
currentYear = view.start.getFullYear();
reloadAllOpenSchedule(currentMonth ,currentYear );
...
});
如果本月进行了ajax调用,则Action Method被调用2次,下个月将调用3次,依此类推。