[英]Wicket - refresh component using AJAX - junk after document element
我正在嘗試使用AJAX刷新頁面上的組件。 這是一些代碼:
private class MyAjaxBehavior extends AbstractDefaultAjaxBehavior {
private final DataView<Something> dataView;
private MyAjaxBehavior(DataView<Something> dataView) {
this.dataView = dataView;
}
@Override
protected void respond(AjaxRequestTarget target) {
// here I do something with dataView...
MarkupContainer container = dataView.getParent();
dataView.setOutputMarkupId(true);
container.setOutputMarkupId(true);
dataView.renderComponent();
container.renderComponent();
target.addComponent(container);
}
}
我可以使用javascript wicketAjaxPost(<callback url>)
來調用wicketAjaxPost(<callback url>)
respond()
方法。 但是我的頁面上沒有任何變化。 當我打開javascript控制台時,看到以下錯誤: junk after document element
出現junk after document element
。 當我重新加載頁面時,我的更改是可見的,所以這只是關於AJAX的內容。 我究竟做錯了什么? 我認為這是因為我的HTML無效; 那么如何使用戶的瀏覽器忽略驗證錯誤?
我正在使用Wicket 1.4.22。
不要調用#renderComponent(),它會在將容器呈現到ajax響應中時由wicket調用。
從#respond()調用#setOutputMarkupId(true)為時已晚,組件必須在第一個Ajax請求之前輸出其markupId。 您可以從行為的#onConfigure()中調用container#setOutputMarkupId(true)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.