Fullcalendar Angular / Node.JS http请求:TypeError:将循环结构转换为JSON(在Object.stringify处)

我试图通过在fullcalendar下拉事件的http调用进行更新,但得到“TypeError:在Object.stringify(native)转换循环结构为JSON”错误。

这是客户端代码:

drop: function() { $scope.schedule.tmpevents = $scope.schedule.events; $http.put('/api/schedules/updatetemp/' + $scope.schedule._id, $scope.schedule).success(function(){ alert("temp schedule updated"); }); }, 

服务器端代码:

 exports.updatetemp = function(req, res) { Schedule.update({_id: req.params.scheduleid}, {$set: {tmpevents: req.body.tmpevents}}, function(err, result){ if (err) { console.log(err); return handleError(res, err); } return res.status(200).json(result); }); }; 

当我在更新button点击之后调用它时,它的工作原理非常相似,它更新了临时事件,但是当我在函数结束时调用它时,但是当它从fullcalendar的放置事件中调用时,它会发出此错误。 我感谢任何帮助..

错误的原因基本上来自诸如:

 var a = { 'b': 'c' }; var c = { 'd': a }; JSON.stringify(c); //will cause error 

JavaScript引擎试图将对象转换为string,并且越来越深,没有可能结束这个过程。

你应该find发生recursion的地方,并删除它们(你应该在创build请求后将它们带回),或者只发送一些项目而不是整个事件。