gpt4 book ai didi

javascript - fullCalendar 和 RangeError : Maximum call stack size exceeded

转载 作者:行者123 更新时间:2023-11-30 10:24:58 26 4
gpt4 key购买 nike

fullCalendar 是一个日历插件,它接受一组对象,并将它们变成要呈现到它自己的日历上的事件。其中一个属性是 eventDrop,它允许在日历上拖放事件。

每当 eventDrop 发生时,我的函数将执行 $.post 以将更改的日期写入我的数据库。但是,出现以下错误。

RangeError: Maximum call stack size exceeded.
Extend [jQuery]
Extend [jQuery]
...
Extend [jQuery]

这是我的职责。

$('#taskCalendar').fullCalendar({
// put your options and callbacks here
height: calendarheight = $(window).height() - $("#nav").height() - 140,
events: courseTasks,
editable: true,
eventStartEditable: true,
eventDurationEditable: false,
eventClick: function(event, jsEvent, view) {
tbLoadData(event["id"]);
},
eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {

// Format date for DB
var newStart = new Date(event["start"]);
var new_due_date = newStart.format("yyyy-mm-dd HH:MM:ss");
event["due_date"] = new_due_date;

// Update in DB
updateToDB(event);

}
});

function updateToDB(data) {

$.post("./php/controllers/retrieval.php?fn=dsb_modify_task", data, function(data,status){
$.notify(data.task_name + " is saved\n" + data + "\n" + status , "success");
});
}

奇怪的是 $.post 在其他任何地方都有效。除了这个功能。有没有人经历过类似的事情?我一直没能弄清楚发生了什么。

最佳答案

不发送来自 eventDrop 函数的事件。它具有一些通过函数调用计算的值。

您必须创建一个新的事件对象 (var new_event = {}) 并复制您要发送到服务器的属性。然后您可以在不超出调用堆栈的情况下发送这个新对象。

关于javascript - fullCalendar 和 RangeError : Maximum call stack size exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com