我正在Wicket 1.5下开发一个使用jQuery的项目。
之前我一直在使用Wicket 1.4,我习惯用JavaScript调用Wicket Java代码
function callWicket() {
var wcall = wicketAjaxGet('$url$' + '$args$', function() { }, function() { });
}
如 Calling Wicket from Javascript 中所示。它在Wicket 1.4下运行良好。
但是当我在Wicket 1.5上执行此操作时,我会收到此回复,
<ajax-response>
<redirect>?0</redirect>
</ajax-response>
重定向到页面并破坏Ajax流程。
(我见过Javascript in Wicket 1.5,但我的问题是行为的另一面......)
我正在使用它来控制浏览器中的hashtag(#tag
)历史记录,以及jQuery和jQuery history。或者,是否有另一种方法来控制Wicket 1.5的标签?
谢谢!
答案 0 :(得分:2)
相同的代码应该在1.5中工作。看来你在onAjaxCallback()中做了一些让Wicket进行重定向的东西,例如类似于setResponsePage(AnotherPage.class)。 要管理哈希标记,可以使用target.appendJavaScript(“localtion.hash ='#anything'”)。使用JQuery History,您可以监听hashchange事件(以及最近的popchange事件),并根据哈希值,Wicket Ajax使用不同的URL和/或参数调用。