Ajax c помощью prototype - что не так?
Приветствую.
Есть jsp страничка с подключенными скриптами. <script language="javascript" type="text/javascript" src="scripts/prototype.js?dummy=14669"></script> <script language="javascript" type="text/javascript" src="scripts/ajax/fwrss/folderChangeAction.js?dummy=14669"></script> <script language="javascript" type="text/javascript" src="scripts/basicWizardFrame.js?dummy=14669"></script> Есть кнопочка Cancel на это страничке c событием onclick="popupCloseWindow(); return false;" function popupCloseWindow() { if (document.forms[0].frame.value.indexOf("SurveyWizardMerge") != -1) { clearSelectedSurveys() ; } window.close(); } function clearSelectedSurveys() { new Ajax.Request('DeleteSelectedSurveys', { // сервлет, описан в web.xml method: 'post', onSuccess: function(transport, json) { }, onFailure: function() { alert('basiWizardFrame.js:clearSelectedSurveys(). Unable to delete selected surveys.'); } }); } Вроде бы ничего особенного: должен сработать запрос и окно закроется. После того как сервлет отрабатывает, окно закрыается, а в родительском окне в firebug появляется след. эррор Ajax is not defined Failed to load source for: https://loc...defgo/scripts/prototype.js?dummy=14669 prototype.js?14669 (line 1485) который указывает на строчку в prototype.js line 1484: respondToReadyState: function(readyState) { line 1485: var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); <---- Сначало думал, что не успевает отработать запрос, прежде чем закроется окно и ресурсы(.js файлы) освободятся. Но сервлет точно отрабатывает. В ослике никакого сообщения об ошибки джаваскрипта не выдается. Сам не силен в джаваскприте и поэтому решил спросить у вас. Есть какие-нибудь мысли по этому поводу? |
Надо поместить window.close() в коллбек функцию onSuccess.
Тогда только после того как аяксовый запрос полностью завершит свою работу, окно закроется. |
Часовой пояс GMT +3, время: 05:44. |