Я использую плагин jQuery FullCalendar для проекта, над которым я работаю, и пытаюсь отобразить в календаре события, возвращаемые из запроса в сервлет Java. Сервлет возвращает XML-документ, который я затем анализирую для создания события, а затем помещаю его в необходимый массив, который затем передаю в функцию обратного вызова.
код
<html>
<head>
<link rel="stylesheet" type="text/css" href="fullcalendar.css" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="fullcalendar.min.js"></script>
<script type="text/javascript">
$(document.ready(function() {
$("#calendar").fullCalendar({
events: function(start, end, callback) {
$.get("servlet?command=getEvents", function(data) {
var events = [];
$(data).find("event").each(function() {
events.push({
id: $(this).find("id").text(),
title: $(this).find("title").text(),
start: $(this).find("start").text(),
end: $(this).find("end").text(),
url: $(this).find("url").text()
});
}
callback(events);
}, "xml");
}
});
});
</script>
</head>
<body>
<div id="calendar"></div>
</body>
</html>
XML возвращается из сервлета
<xml>
<event>
<id>Event1</id>
<title>Title1</title>
<start>2011-10-18</start>
<end>2011-10-19</end>
<url>http://www.google.com</url>
</event>
// More Events...
</xml>
Теперь, похоже, что XML возвращается из сервлета в порядке, и синтаксический анализ данных также работает правильно. Однако сами события не отображаются в календаре. Я не совсем уверен, в чем разница между events
и eventSources
, но я пробовал оба, и ни один из них не работал должным образом. Любая идея, почему - для всех намерений и целей - плагин не отображает события, которые, кажется, находятся в массиве событий, как предписано документацией? Дайте мне знать, если вам нужно больше деталей или код; Я сгенерировал макет всего необходимого, поэтому это не весь мой код.