Call Wicket из Javascript - запрос ajax не выполнен
Я создал метод javascript от Wicket, который перезагрузит панель:
Behavior behave = new AbstractDefaultAjaxBehavior() {
@Override
protected void respond(AjaxRequestTarget target) {
target.appendJavaScript(JavascriptUtils.functionCallback(INIT_JQUERY_UPLOAD_JS));
target.add(photosetsContainer);
}
/**
* Creates a javascript method: reloadImagesPanel(duplicateImagesList) and renders it in head section of
* html. This method is called after the user selects images using uploader.
*/
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
CharSequence callback = getCallbackScript();
String reloadImagesJs = JavascriptUtils.function(RELOAD_IMAGES_PANEL_JS, callback.toString());
response.render(JavaScriptHeaderItem.forScript(reloadImagesJs, null));
}
};
add(behave);
Я использую jquery.fileupload для загрузки некоторых изображений:
$('.fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
reloadImagesPanel();
},
fail: function (e, data) {
alert("There was a problem while uploading, please try again!");
},
progress: function (e, data) {
$(e.target).closest('.multipleUploadButtonContainer').find('.imagesUploadSpinner').spin(SPINNER_MIN_OPTS);
}
});
RELOAD_IMAGES_PANEL_JS = reloadImagesPanel
Итак, когда я загружаю изображения, они перемещаются в соответствующую папку, вызывается reloadImagesPanel(), но на вкладке Console Network нет запроса GET, который говорит мне, что был выполнен метод ответа со стороны сервера. и, конечно, панель была перезагружена.
Вот что я ожидаю увидеть:
введите описание изображения здесь
Нет ошибок в файлах журналов, нет ошибок в консоли, он работает на локальном хосте, он не работает в рабочей среде.
Как это возможно? Почему метод калитки RELOAD_IMAGES_PANEL_JS вызывается на стороне клиента, а метод response (цель AjaxRequestTarget) никогда не обогащается?
0 ответов
В итоге мы обнаружили проблему: у нас есть внешний инструмент, который можно использовать для вставки кода JavaScript в наше приложение, и у этого кода была проблема, которая явно нарушала функциональность калитки.
Мы нашли проблему, отладив код jquery и wicket js в консоли браузера, и сравнили рабочий сценарий с неработающим сценарием.