Я пытаюсь загрузить jsp-файл в диалоговое окно jQuery UI http://jqueryui.com/demos/dialog/. jsp содержит календарь fullCalendar http://arshaw.com/fullcalendar/. Консоль вызывает calLoader.jsp, который более или менее содержит только:
<jsp:include page="../cal.jsp"/>
Когда я открываю диалоговое окно в первый раз, все работает нормально, но после того, как я закрываю диалоговое окно и пытаюсь открыть его снова, я получаю следующую трассировку стека из Chrome:
Uncaught RangeError: Maximum call stack size exceeded
d.d.extend._Deferred.f.resolveWith
d.d.extend._Deferred.f.done
d.d.fn.d.ready
d.d.fn.d.init
d.d
(anonymous function)
d.d.extend.globalEval
ba
d.d.extend.each
d.fn.extend.domManip
d.fn.extend.append
d.fn.extend.html
d.fn.extend.load.d.ajax.complete
d.d.extend._Deferred.f.resolveWith
v
d.support.ajax.d.ajaxTransport.send.c
Проблема в Firefox та же, но я получаю сообщение:
too much recursion
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Я понимаю, что я пытаюсь загрузить один и тот же материал больше, чем один, и что его каким-то образом нужно либо повторно использовать, либо выгрузить / удалить и перезагрузить, но я понятия не имею, как это сделать.
Это код, который я использую для открытия календаря (был запрошен).
function openCalendar() {
var dialog = jQuery('<div id="calendaropener"></div>')
.dialog({
autoOpen: false,
draggable: true,
modal: false,
resizable: false,
width: 820,
height: 750,
position: [50, 50],
title: 'Kalender',
close: function(ev, ui) { calendarObj = null; }
});
dialog.load("calLoader.jsp");
dialog.dialog('open');
}
Функция openCalendar () вызывается с кнопки на моей странице.
Спасибо!