我在我的某个应用程序中使用此日历:https://github.com/themouette/jquery-week-calendar
我已将其设置为可以通过ajax调用将事件拉入日历。然而,编写新事件并不是以某种方式工作。我认为问题在于json对象更具体地说是2个日期。
目前我有以下代码:
calendar.js:
'Bewaren' : function() {
calEvent.id = id;
id++;
calEvent.start = (startField.val());
calEvent.end = (endField.val());
calEvent.title = titleField.val();
calEvent.body = bodyField.val();
var cct = $.cookie('csrfeval');
console.log(cct);
$calendar.weekCalendar("removeUnsavedEvents");
$calendar.weekCalendar("updateEvent", calEvent);
$dialogContent.dialog("close");
var data_item = {
"start": calEvent.start,
"end" : calEvent.end,
"title" : calEvent.title,
"body" : calEvent.body,
"csrfeval": cct
};
var target="/evaluatie/ajax/bewaaragendaitem";
$.ajax({
url: target,
data: data_item,
type: "POST",
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown) {
notify("Ajax error");
if (errorThrown != 'abort' && XMLHttpRequest.status != 0) {
notify('unable to get data, error:' + textStatus);
}
},
success: function(data) {
//self._renderEvents(data, $weekDayColumns);
notify('Ok');
}
});
}
ajax.php:
function bewaaragendaitem(){
print_r($_POST);
}
我得到的错误
这是发送的对象(我认为日期导致错误......)
任何可以帮助我构建json对象以使其正常工作的人吗?
答案 0 :(得分:0)
错误意味着您将文本字符串输入到需要日期对象的函数中。您显示的对象中确实包含日期对象,但显然它们无法到达需要的位置。
这很难调试,因为您的代码有点不清楚 - 您已经注释了似乎触发数据显示的行:
self._renderEvents(data, $weekDayColumns);
能够知道自我指的是什么也是有帮助的。 __renderEvents()是您自己的函数还是库的一部分?
使用firebug的“break on error”功能(单击错误框左下角的红色圆圈)并再次运行。您应该发现代码在错误导致它终止之前停止,然后您可以使用堆栈窗格来查看在哪里传递了哪个对象。看起来您在错误消息中已经缩小/压缩了JavaSCript,因此如果切换到该文件来自的任何库的调试版本(jQuery,可能),您会发现它更容易,这样您就可以在单独的行上看到每个命令