通过ajax调用的Jquery完整日历事件
Posted
技术标签:
【中文标题】通过ajax调用的Jquery完整日历事件【英文标题】:Jquery Full Calendar Events by ajax call 【发布时间】:2013-05-29 22:16:21 【问题描述】:我非常热衷于通过更新我的数据库条目来呈现事件。原来, 我已经成功渲染了事件;
我的事件数组为:
title: 'Available', start: new Date(2013, m, 05, 09,50), end: new
Date(2013, m, 05, 10,00), allDay: false,title: 'Available', start:
new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50),
allDay: false
将通过以下方式在日历中呈现:
events:[<?php echo $events?>]
到目前为止,代码运行良好并根据需要呈现事件。
在 prev 之后,单击 next 按钮,我必须通过更新数据库来呈现事件。是这样的:
$('.fc-button-next span').live('click', function()
var calandar = $('#calandar');
$.ajax(
url: 'fetchEvents',
dataType: 'JSON',
type: 'POST',
success: function(doc)
calandar.fullCalendar('removeEvents',event),
calandar.fullCalendar( 'renderEvent',doc.events);
calandar.fullCalendar('rerenderEvent',doc.events);
);
);
其中 "fetchEvents" 返回与之前相同的事件格式,但采用 JSON 格式,例如:
"title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false"
不知道,如何在下次点击事件上呈现 JSON 事件对象。那就是我必须通过 ajax 调用呈现全新的事件。请提出建议。
已解决:
我创建 JSON
事件,而不是我创建的事件,正如 Lukasz Koziara 在他的第一个建议中所建议的那样,每次日历事件发生时,它都会获取 eventSource
以获取事件。
JSON 事件
["title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false]
我使用eventSources
进行了ajax 调用,而不是事件,以获得这种类型的JSON EVENTS.
这看起来像:
eventSources: [
url: 'fetchEvents',
type: 'POST'
]
因此,当calander
第一次呈现或next
、previous
或today
按钮被点击时,calander
它会自行获取eventSources.
指定的事件
【问题讨论】:
【参考方案1】:第一个建议:为什么不使用一种类型的事件源?例如使用 JSON 提要 - 您可以通过 GET 参数 start
和 end
获取事件范围,因此如果您更改月份或视图,您可以从数据库适当的事件发送。
第二个建议:如果你一定需要两种类型的事件源,尝试使用addEventSource/removeEventSource
【讨论】:
是的,我尝试按照您的第一个建议作为相同的 eventSources:[url: 'fetchEvents'] 这样做。但事件并未按照指定的 json 格式呈现。 首先检查你的 fetchEvents 函数是否被全日历命中。如果没有,请将您的函数指向不带“url”参数的函数。 感谢您的建议。我已根据您的想法编辑了我想要的内容。我将检查您的答案以获取您的建议。 如果我不明白从服务器获取事件的一件事是服务器代码在 PHP/SQL 查询方面的外观。上面的代码仅指客户端代码。以上是关于通过ajax调用的Jquery完整日历事件的主要内容,如果未能解决你的问题,请参考以下文章