Javascript 事件未发布到我们的API以获取完整日历?

Javascript 事件未发布到我们的API以获取完整日历?,javascript,html,json,api,fullcalendar,Javascript,Html,Json,Api,Fullcalendar,为什么以下内容没有将事件发布到我们的API中? 我们正在尝试使用完整日历创建一个可定制的日历,允许用户添加新事件,然后将事件发布到我们的API。除了事件被发布到我们的API之外,一切都正常。有人知道这是为什么吗?非常非常感谢 <!DOCTYPE html> <html> <head> <title>How to add calendar using jQuery and fullCalendar</title>

为什么以下内容没有将事件发布到我们的API中?
我们正在尝试使用完整日历创建一个可定制的日历,允许用户添加新事件,然后将事件发布到我们的API。除了事件被发布到我们的API之外,一切都正常。有人知道这是为什么吗?非常非常感谢

 <!DOCTYPE html>
  <html>
  <head>
   <title>How to add calendar using jQuery and fullCalendar</title>
    <!--FullCalendar Dependencies-->
  <link href='https://www.findvolunteerships.com/fc/fullcalendar.css' rel='stylesheet' />
    <link href='https://www.findvolunteerships.com/fc/fullcalendar.print.css' rel='stylesheet' media='print' />

<link rel="stylesheet" type="text/css" href="css/main3.css">
 <link rel="stylesheet" type="text/css" href="css/main2.css">
 <link rel="stylesheet" type="text/css" href="css/index.css">
<link href='css/fullcalendar.print.css' rel='stylesheet' media='print'/>
<link rel="stylesheet" type="text/css" href="css/fullcalendar.css" />
 <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

 <link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700' rel='stylesheet' type='text/css'>
 <link href='https://fonts.googleapis.com/css?family=Bitter' rel='stylesheet' type='text/css'>
  <link href='https://fonts.googleapis.com/css?family=Nunito' rel='stylesheet' type='text/css'>
 <link href='https://fonts.googleapis.com/css?family=Arvo' rel='stylesheet' type='text/css'>

 <script src='fc/lib/moment.min.js'></script>
 <script src='fc/lib/jquery.min.js'></script>
 <script src='fc/fullcalendar.min.js'></script>
 <script src="http://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.0.0/fullcalendar.js"></script>

 <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
 <script src='http://qtip2.com/static/javascripts/libs/jquery.fullcalendar.min.js'></script>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
   <script src="//code.jquery.com/jquery.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.2/moment.min.js"></script>
  <script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.js"></script>
 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js"></script>
 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.0.3/fullcalendar.min.js"></script>
 <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js">     </script>
 <script type="text/javascript" src="https://mandrillapp.com/api/docs/js/mandrill.js"></script>


<!--jQuery-->
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js'></script>



     <!--FullCalendar-->
     <script src='https://www.findvolunteerships.com/fc/fullcalendar.min.js'></script>
   <script type="text/javascript">








    /*
        jQuery document ready
    */

        $(document).ready(function()
    {
        /*
            date store today date.
            d store today date.
            m store current month.
            y store current year.
        */
        var date = new Date();
         var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();

        /*
            Initialize fullCalendar and store into variable.
            Why in variable?
            Because doing so we can use it inside other function.
            In order to modify its option later.
        */

          var calendar = $('#calendar').fullCalendar(
        {
            /*
                header option will define our calendar header.
                left define what will be at left position in calendar
                center define what will be at center position in calendar
                right define what will be at right position in calendar
            */
            header:
            {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            /*
                defaultView option used to define which view to show by default,
                for example we have used agendaWeek.
            */
            defaultView: 'agendaWeek',
            /*
                selectable:true will enable user to select datetime slot
                selectHelper will add helpers for selectable.
            */
            selectable: true,
            selectHelper: true,
            /*
                when user select timeslot this option code will execute.
                It has three arguments. Start,end and allDay.
                Start means starting time of event.
                End means ending time of event.
                allDay means if events is for entire day or not.
            */
            select: function(start, end, allDay)
            {
                /*
                    after selection user will be promted for enter title for event.
                */
                var title = prompt('Event Title:');
                /*
                    if title is enterd calendar will add title and event into fullCalendar.
                */
                if (title)
                {
                    calendar.fullCalendar('renderEvent',
                        {
                            title: title,
                            start: start,
                            end: end,
                            allDay: allDay
                        },
                        true // make the event "stick"
                    );
                }
                calendar.fullCalendar('unselect');
            },
            /*
                editable: true allow user to edit events.
            */
            editable: true,
            /*
                events is the main option for calendar.
                for demo we have added predefined events in json object.
            */
            events: [
                {
                    title: 'All Day Event',
                    start: new Date(y, m, 1)
                },
                {
                    title: 'Long Event',
                    start: new Date(y, m, d-5),
                    end: new Date(y, m, d-2)
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: new Date(y, m, d-3, 16, 0),
                    allDay: false
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: new Date(y, m, d+4, 16, 0),
                    allDay: false
                },
                {
                    title: 'Meeting',
                    start: new Date(y, m, d, 10, 30),
                    allDay: false
                },
                {
                    title: 'Lunch',
                    start: new Date(y, m, d, 12, 0),
                    end: new Date(y, m, d, 14, 0),
                    allDay: false
                },
                {
                    title: 'Birthday Party',
                    start: new Date(y, m, d+1, 19, 0),
                    end: new Date(y, m, d+1, 22, 30),
                    allDay: false
                },
                {
                    title: 'Click for Google',
                    start: new Date(y, m, 28),
                    end: new Date(y, m, 29),
                    url: 'http://google.com/'
                }
            ]
        });

    });

    </script>
    <style type="text/css">
    body
    {
        margin-top: 40px;
        text-align: center;
        font-size: 14px;
        font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    }
    #calendar
    {
        width: 900px;
        margin: 0 auto;
    }
 </style>



 <script type='text/javascript'>
 function savedata(){
 $(document).ready(function () {
$(function () {
    $("#save").click(function () {
        var eventsFromCalendar =   $('#calendar').fullCalendar('clientEvents');
        alert(eventsFromCalendar);
        $.ajax(
    {

        url: 'API LINK',
        type: 'POST',
        traditional: true,
        data: { eventsJson: JSON.stringify(eventsFromCalendar) },
        dataType: "json",
        success: function (response) {
            alert(response);
        },
        error: function (xhr) {
            debugger;
            alert(xhr);
        }

    });
    });
});
 });
 }
</script> 
</head>
<body>

<!--FullCalendar container div-->
<div id='calendar'></div>

</body>
</html>

如何使用jQuery和fullCalendar添加日历
/*
jQuery文档就绪
*/
$(文档).ready(函数()
{
/*
日期商店今天日期。
我今天去商店。
我本月去商店。
y商店本年度。
*/
变量日期=新日期();
var d=date.getDate();
var m=date.getMonth();
var y=date.getFullYear();
/*
初始化fullCalendar并存储到变量中。
为什么是可变的?
因为这样我们可以在其他函数中使用它。
以便以后修改其选项。
*/
var calendar=$(“#calendar”).fullCalendar(
{
/*
标题选项将定义我们的日历标题。
左侧定义日历中左侧位置的内容
居中定义在日历中居中的位置
右定义什么将在日历中的正确位置
*/
标题:
{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
/*
defaultView选项用于定义默认情况下要显示的视图,
例如,我们使用了agendaWeek。
*/
defaultView:'agendaWeek',
/*
可选:true将允许用户选择日期时间槽
selectHelper将添加可选择的帮助程序。
*/
是的,
selectHelper:对,
/*
当用户选择时间段时,将执行此选项代码。
它有三个参数:开始、结束和全天。
开始是指事件的开始时间。
结束意味着事件的结束时间。
全天是指活动是否为全天。
*/
选择:功能(开始、结束、全天)
{
/*
选择后,将提示用户输入事件标题。
*/
var title=prompt('事件标题:');
/*
如果输入了标题,日历将在完整日历中添加标题和事件。
*/
如果(标题)
{
日历。完整日历('renderEvent',
{
标题:标题,,
开始:开始,
完:完,,
全天
},
true//使事件“持续”
);
}
日历。完整日历(“取消选择”);
},
/*
可编辑:true允许用户编辑事件。
*/
是的,
/*
事件是日历的主要选项。
对于演示,我们在json对象中添加了预定义事件。
*/
活动:[
{
标题:“全天活动”,
开始:新日期(y、m、1)
},
{
标题:“长期活动”,
开始日期:新日期(y、m、d-5),
结束:新日期(y、m、d-2)
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d-3、16、0),
全天:错
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d+4、16、0),
全天:错
},
{
标题:"会议",,
开始日期:新日期(y、m、d、10、30),
全天:错
},
{
标题:"午餐",,
开始日期:新日期(y、m、d、12、0),
结束:新日期(y、m、d、14、0),
全天:错
},
{
标题:"生日派对",,
开始:新日期(y、m、d+1、19、0),
结束:新日期(y、m、d+1、22、30),
全天:错
},
{
标题:“点击谷歌”,
开始日期:新日期(y、m、28),
结束:新日期(y、m、29),
网址:'http://google.com/'
}
]
});
});
身体
{
边缘顶端:40px;
文本对齐:居中;
字体大小:14px;
字体系列:“Lucida Grande”,Helvetica,Arial,Verdana,无衬线;
}
#历法
{
宽度:900px;
保证金:0自动;
}
函数savedata(){
$(文档).ready(函数(){
$(函数(){
$(“#保存”)。单击(函数(){
var eventsFromCalendar=$(“#calendar”).fullCalendar('clientEvents');
警报(日历中的事件);
$.ajax(
{
url:“API链接”,
键入:“POST”,
传统的:是的,
数据:{eventsJson:JSON.stringify(eventsFromCalendar)},
数据类型:“json”,
成功:功能(响应){
警报(响应);
},
错误:函数(xhr){
调试器;
警报(xhr);
}
});