Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax无法使用完整日历_Javascript_Jquery_Ajax_Fullcalendar - Fatal编程技术网

Javascript ajax无法使用完整日历

Javascript ajax无法使用完整日历,javascript,jquery,ajax,fullcalendar,Javascript,Jquery,Ajax,Fullcalendar,我使用外部拖动事件作为主题分配接口。使用ajax将主题详细信息更新到mysql db,但ajax不起作用。我无法在控制器中获取值。检查了此处的其他问题,但没有找到解决方案。有人能帮我吗 <link href='assets/fullcalendar/fullcalendar.css' rel='stylesheet' /> <link href='assets/fullcalendar/fullcalendar.print.css' rel='stylesheet' media

我使用外部拖动事件作为主题分配接口。使用ajax将主题详细信息更新到mysql db,但ajax不起作用。我无法在控制器中获取值。检查了此处的其他问题,但没有找到解决方案。有人能帮我吗

<link href='assets/fullcalendar/fullcalendar.css' rel='stylesheet' />
<link href='assets/fullcalendar/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='assets/fullcalendar/lib/moment.min.js'></script>
 <script src='assets/js/jquery.js'></script>
  <script src='assets/fullcalendar/lib/jquery-ui.custom.min.js'></script>
 <script src='assets/fullcalendar/fullcalendar.min.js'>  </script>
<script>
$(document).ready(function() {    
    /* initialize the external events
    -----------------------------------------------------------------*/

    $('#external-events .fc-event').each(function() {

        // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
        // it doesn't need to have a start or end
        var eventObject = {
            title: $.trim($(this).text()) // use the element's text as the event title
        };

        // store the Event Object in the DOM element so we can get to it later
        $(this).data('eventObject', eventObject);

        // make the event draggable using jQuery UI
        $(this).draggable({
            zIndex: 999,
            revert: true,      // will cause the event to go back to its
            revertDuration: 0  //  original position after the drag
        });

    });

/* initialize the calendar
-----------------------------------------------------------------*/
  $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: true,
        droppable: true,
        drop: function(date,event) {


          // retrieve the dropped element's stored Event Object
                var originalEventObject = $(this).data('eventObject');

        // we need to copy it, so that multiple events don't have a reference to the same object
                var copiedEventObject = $.extend({}, originalEventObject);

        // assign it the date that was reported
                copiedEventObject.start = date;

        // render the event on the calendar
        // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)

                $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

                // is the "remove after drop" checkbox checked?

                if ($('#drop-remove').is(':checked')) {
                    // if so, remove the element from the "Draggable Events" list
                    $(this).remove();
                }
             $.ajax({
               url: '/addSchedule',
               dataType: 'json',
               type: 'post',
               data: {event: event},                  
               success: function(response){
                  console.log('response');
               }
             });

      }     

    });


});
</script> 

$(文档).ready(函数(){
/*初始化外部事件
-----------------------------------------------------------------*/
$('#external events.fc event')。每个(函数(){
//创建一个事件对象(http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
//它不需要有开始或结束
var eventObject={
title:$.trim($(this).text())//使用元素的文本作为事件标题
};
//将事件对象存储在DOM元素中,以便我们以后可以访问它
$(this).data('eventObject',eventObject);
//使用jQuery UI使事件可拖动
$(此)。可拖动({
zIndex:999,
revert:true,//将导致事件返回其初始状态
revertDuration:0//拖动后的原始位置
});
});
/*初始化日历
-----------------------------------------------------------------*/
$(“#日历”).fullCalendar({
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
是的,
真的,
删除:函数(日期、事件){
//检索已删除元素的存储事件对象
var originalEventObject=$(this.data('eventObject');
//我们需要复制它,这样多个事件就不会引用同一个对象
var copiedEventObject=$.extend({},originalEventObject);
//将其指定为报告的日期
copiedEventObject.start=日期;
//在日历上呈现事件
//最后一个'true'参数确定事件是否“持续”(http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$(“#calendar”).fullCalendar('renderEvent',copiedEventObject,true);
//是否选中了“删除后删除”复选框?
如果($('#drop remove')。是(':checked')){
//如果是,请从“可拖动事件”列表中删除该元素
$(this.remove();
}
$.ajax({
url:“/addSchedule”,
数据类型:“json”,
键入:“post”,
数据:{event:event},
成功:功能(响应){
console.log('response');
}
});
}     
});
});

通过使用@AVM使用的相同程序,我遇到了与@AVM相同的问题

这就是这个问题的解决方案:

        var event_title = event.title;
        var event_date = event._start.format();
        var event_backgroundColor = event.backgroundColor;
        var event_borderColor = event.borderColor;

        $.ajax({
            url: '../php/add_event.php',
            type: 'post',
            data: {
                title: event_title,
                date: event_date,
                backgroundColor: event_backgroundColor,
                borderColor: event_borderColor
            },
            success: function(response){
              alert(response);
            },
            error: function(){
                alert("error");
            }
        });
注意:

 var event_date = event._start.format();
这解决了我的问题,我希望它能解决你的问题

谢谢
Mat

不工作
不是正确的问题陈述。什么不起作用?您遵循了哪些故障排除步骤?@charlietfl在完整日历上发生删除事件时使用ajax保存事件详细信息,但ajax调用失败。我没有得到这些价值观controller@AVM,您是否在控制台中看到错误?另外,如果您将
error:function(jqXHR,textStatus,errorshown){console.log(jqXHR)}
()添加到$ajax调用中,您是否看到错误消息?@milz否,也尝试了error:function(),但我在控制台中没有收到错误。通过使用@AVM使用的相同过程,我遇到了与@AVM相同的问题。当代码到达AJAX调用它“停止工作”,或者甚至不考虑它时,我可以说是驴。此外,当事件被放入日历时,日历会冻结。。。。我还尝试将ajax调用放入函数中,并通过所需参数调用它,但没有成功。此外,我在success和error函数中输入的内容也会被执行。谢谢MAtThanks伙计,我会试试这个。