使用 wicket 通过 AJAX 更改 URL
在 Apache Wicket 中,有没有办法让 AJAX 调用更改当前页面 URL,而无需重定向或重新加载页面?
例如,假设我们在 URL 中:
localhost:8080/someUrl
我希望当我单击 ajax 链接时,执行一些操作,并且 URL 更改为:
localhost:8080/otherUrl
不重定向,仅更改浏览器中显示的 URL。 这可能吗?
Is there a way to make an AJAX call alter the current page URL without redirecting or reloading the page, in Apache Wicket?
For example, say we are in the URL:
localhost:8080/someUrl
I'd like that when I click an ajax link, some action is performed, and the URL changes to, say:
localhost:8080/otherUrl
without redirecting, just changing the URL displayed in the browser.
Is this even possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
其实你可以!
但这与Wicket完全无关。
这就是 HTML5 中新的 History API 的作用。
只需在 Google 中搜索“html5 History API example”即可享受。
Actually you can !
But this is not related to Wicket at all.
This is what the new History API in HTML5 is about.
Just search for "html5 History API example" in Google and enjoy.
您可以使用 javascript 更改的 url 的唯一部分是哈希值
您可以将
localhost:8080/#/someUrl
更改为localhost:8080/#/otherUrl
使用 < code>window.location.hash
下面是一个 Flash 站点的示例,它使用此概念来允许深层链接 URL:http://www.2advanced.com
The only part of the url you can change with javascript is the hash
You could change
localhost:8080/#/someUrl
tolocalhost:8080/#/otherUrl
Do this with
window.location.hash
Here's an example of a flash site which uses this concept to allow for deep-linking URL's: http://www.2advanced.com
帮助实现此功能,为 https://issues.apache 投票(或贡献!)。 org/jira/browse/WICKET-5290
Help make this feature happen, vote (or contribute!) for https://issues.apache.org/jira/browse/WICKET-5290
不,不是。如果您更改浏览器中的位置,则会向该 URL 发出新请求。
(您可以使用
window.location.href = newUrl
执行此操作,但页面会重新加载)No, it isn't. If you change the location in the browser, a new request is made to that URL.
(You do that with
window.location.href = newUrl
, but the page reloads)