在daycalendar中写ajax事件

时间:2012-02-17 09:54:06

标签: jquery ajax json date calendar

我在我的某个应用程序中使用此日历: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);

}

我得到的错误

error

这是发送的对象(我认为日期导致错误......)

enter image description here

任何可以帮助我构建json对象以使其正常工作的人吗?

1 个答案:

答案 0 :(得分:0)

错误意味着您将文本字符串输入到需要日期对象的函数中。您显示的对象中确实包含日期对象,但显然它们无法到达需要的位置。

这很难调试,因为您的代码有点不清楚 - 您已经注释了似乎触发数据显示的行:

self._renderEvents(data, $weekDayColumns);

能够知道自我指的是什么也是有帮助的。 __renderEvents()是您自己的函数还是库的一部分?

使用firebug的“break on error”功能(单击错误框左下角的红色圆圈)并再次运行。您应该发现代码在错误导致它终止之前停止,然后您可以使用堆栈窗格来查看在哪里传递了哪个对象。看起来您在错误消息中已经缩小/压缩了JavaSCript,因此如果切换到该文件来自的任何库的调试版本(jQuery,可能),您会发现它更容易,这样您就可以在单独的行上看到每个命令