gpt4 book ai didi

javascript - 从 Javascript 调用 Wicket - ajax 请求未完成

转载 作者:行者123 更新时间:2023-11-30 19:49:42 35 4
gpt4 key购买 nike

我已经从 Wicket 创建了一个 javascript 方法,它将重新加载一个面板:

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 请求,这告诉我服务器端的 respond 方法已完成,当然,面板已重新加载。

这是我期待看到的:

enter image description here

日志文件中没有错误,控制台中没有错误,它适用于本地主机,不适用于生产环境。

这怎么可能?为什么在客户端调用了 RELOAD_IMAGES_PANEL_JS wicket 方法,但是 respond(AjaxRequestTarget target) 方法一直没有丰富?

最佳答案

最后我们发现了问题:我们有一个外部工具可以用来在我们的应用程序中插入 javascript 代码,而该代码有一个问题,显然破坏了 wicket 功能。

我们通过在浏览器的控制台中调试 jquery 和 wicket js 代码发现了问题,我们将工作案例场景与损坏案例场景进行了比较。

关于javascript - 从 Javascript 调用 Wicket - ajax 请求未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54594863/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com