迁移到Wicket 7-js生成的组件ajax问题
我正在尝试将我们的应用程序从Wicket 6.19迁移到Wicket 7。除了javascript库生成的自定义动态组件外,其他一切都正常工作——这些组件上的ajax行为在Wicket 7上不起作用 示例:我们有可搜索的引导下拉列表:迁移到Wicket 7-js生成的组件ajax问题,ajax,migration,wicket,Ajax,Migration,Wicket,我正在尝试将我们的应用程序从Wicket 6.19迁移到Wicket 7。除了javascript库生成的自定义动态组件外,其他一切都正常工作——这些组件上的ajax行为在Wicket 7上不起作用 示例:我们有可搜索的引导下拉列表: public class SearchableDropDown<T> extends DropDownChoice<T> { ... @Override public void renderHead(IHeaderResponse resp
public class SearchableDropDown<T> extends DropDownChoice<T> {
...
@Override
public void renderHead(IHeaderResponse response) {
String jqScript = " $('#" + getMarkupId() + "').select2();";
response.render(OnDomReadyHeaderItem.forScript(jqScript));
}
...
小门7:
Wicket.Ajax.ajax({"u":"./page?6-2.IBehaviorListener.0-pageStyleClassWrapperPanel-choicePanel-content-choice","m":"POST","c":"choice3e","e":"change"});;
Wicket.Ajax.ajax({"u":"./page?6-2.IBehaviorListener.1-pageStyleClassWrapperPanel-choicePanel-content-choice","m":"POST","c":"choice3e","e":"blur"});;
对于其他生成的组件,如icheck jquery库中的单选按钮,我们也有类似的问题
有人能帮我吗
谢谢我也有同样的症状:从Wicket 1.4直接迁移到Wicket 7.9后,Ajax行为不起作用 在我的例子中,原因是:jquery javascript源无法加载。他们被禁止服侍 我的应用程序使用类AuthStrategy,它有一个方法:
@Override
public boolean isResourceAuthorized(IResource arg0, PageParameters arg1) {
return false;
}
因此,无法加载jquery js源代码。将返回值更改为True解决了问题
似乎通过该方法传递的唯一资源是那些jquery Java脚本。清除浏览器缓存等?通过迁移6->7,我只有一个不重要的ajax问题。可重复AjaxTimeoutBehavior dont fire/的第一个事件在FIrefox中不可见。铬看起来还可以。接下来的所有操作看起来都很好,在数据库备份期间,状态显示为%o。用于v。7几个新的ajaxified元素,非常好我刚刚推出了Wicket 7快速入门,并用ajax行为实现了dropdownchoice,它工作得完美无缺。可能选择2会以某种方式阻止事件。清除缓存没有帮助,ajax行为在其他计算机和浏览器上也不起作用。正如我所说的,问题只存在于js生成的组件上,带有默认下拉菜单的ajax行为正在发挥作用。作为一个侧节点,WicketStuff中的select2有一个Wicket实现,您在该页面上有js问题吗?查看浏览器的控制台。Javascript错误可以停止页面上的所有Javascript执行。
Wicket.Ajax.ajax({"u":"./page?6-2.IBehaviorListener.0-pageStyleClassWrapperPanel-choicePanel-content-choice","m":"POST","c":"choice3e","e":"change"});;
Wicket.Ajax.ajax({"u":"./page?6-2.IBehaviorListener.1-pageStyleClassWrapperPanel-choicePanel-content-choice","m":"POST","c":"choice3e","e":"blur"});;
@Override
public boolean isResourceAuthorized(IResource arg0, PageParameters arg1) {
return false;
}