Call Wicket из Javascript - запрос ajax не выполнен - PullRequest
0 голосов
/ 08 февраля 2019

Я создал метод 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 () , но GET-запрос отсутствуетна вкладке Console Network, которая сообщает мне, что метод response со стороны сервера был выполнен и, конечно, панель была перезагружена.

Это то, что я ожидаю увидеть:

введите описание изображения здесь

Нет ошибок в файлах журнала, нет ошибок в консоли, он работает на локальном хосте, не работает в рабочей среде.

Как это возможно?Почему метод калитки RELOAD_IMAGES_PANEL_JS вызывается на стороне клиента, а метод response (цель AjaxRequestTarget) никогда не обогащается?

1 Ответ

0 голосов
/ 12 апреля 2019

В итоге мы нашли проблему: у нас есть внешний инструмент, который можно использовать для вставки кода JavaScript в наше приложение, и у этого кода была проблема, которая явно нарушала функциональность калитки.

Мы нашли проблему с помощьюотладка jquery и wicket js кода в консоли браузера, и мы сравнили рабочий сценарий с неработающим.

...