检票口 - 使用 AJAX 刷新组件 - 文档元素后的垃圾
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 functio wicketAjaxPost(<callback url>)
调用respond()
方法。但是我的页面上没有任何变化。当我打开javascript控制台时,我看到以下错误:junk after document element
。当我重新加载页面时,我的更改是可见的,所以这只是关于 AJAX。我做错了什么?我认为这是因为我的 HTML 无效;那么如何让用户的浏览器忽略验证错误呢?
我正在使用检票口 1.4.22。
不要调用 #renderComponent(),当它将容器呈现为 ajax 响应时,wicket 会调用它。
从 #respond() 调用 #setOutputMarkupId(true) 为时已晚,组件必须在第一个 Ajax 请求之前输出其 markupId。你可以从你的行为的 #onConfigure() 调用 container#setOutputMarkupId(true)。
相关文章:
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 如何获取文档数组中元素的计数-MongoDB
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- 在不引用文档的情况下使用AngularJS获取元素
- 正在获取单击的元素相对于整个文档的索引
- MDN文档中关于弄清楚XUL元素的段落是什么意思:“如何将覆盖扩展转换为无重启”
- 用于修改文档元素的 PHP 代码
- 使用 ajax 将 HTML 文档附加到元素
- 是否有 jQuery 事件用于何时将元素添加到文档中
- getSelection()只能应用于某个元素(而不是整个文档)
- 挂钩文档.使用函数原型创建元素
- 复制和修改元素,以便在html文档的另一部分使用它们
- 获取文档的所有元素,id为'主导航'
- 使用 shift 在具有字符串/数组的文档中查找元素
- 在javascript中阻止文档执行默认操作时,在单个元素中使用默认事件
- 如何切换文档元素的可见性
- javascript中元素/文档高度的事件侦听器
- PHP中的Javascript代码不能访问HTML元素.文档.getElementById不工作