如何解决Wicket Ajax可在Firefox和IE中使用,但不能在Chrome和Safari中使用
// Reference to the Bosstext Object.
[Serializefield] private Text Bosstext;
// Deactivate TextBox.
Bosstext.enabled = false;
因此,此代码在Firefox和IE中均能正常工作,并且在Dev Tools中看到了请求。但是,当我使用Chrome和Safari代码无法正常工作时,甚至在开发工具中都没有ajax请求时,什么也不会发生,并且不会触发OnUpdate。在Chrome的开发工具中,我有错误
yearGroupDdl.addToComponent(new AjaxXSRFFormComponentUpdatingBehavior("change",token) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
selectedYearGroup = yearGroupDdl.getComponent().getModelObject();
filter.setYearGroup(selectedYearGroup);
target.add(content);
}
});
IE和Firefox控制台btw中没有这样的错误。此页面上也没有工具提示。那么,我如何才能在Chrome中使用它呢?也许Chrome有一些ajax问题?我正在使用Chrome 85.0.4183.102
解决方法
如果发生JavaScript错误,则错误后的所有内容都不会执行。
$('#someElement').tooltip(); // 1
$('#anotherElement').on('change',function() {...}); // 2
如果(1)处有错误,则根本不会执行(2),因此更改#anotherElement
的值将不会触发事件侦听器。即Wicket不会知道值已更改,也不会通过Ajax调用服务器来通知它。
正如您所说tooltip()
抛出错误,因为(Bootstrap?!)库未添加到当前页面。临时添加它以查看是否可以解决下拉元素(和Ajax)的问题。完成此操作后,您可以在tooltip()
中放置一个断点,并调查根本为什么调用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。