2011-07-04 124 views
2

在Apache Wicket中有沒有辦法讓AJAX調用改變當前頁面的URL而不重定向或重新加載頁面?使用wicket通過AJAX更改網址

例如,假設我們是在網址:

我想,當我點擊一個鏈接AJAX,執行一些動作,和URL的變化,說:

localhost:8080/otherUrl 

沒有重定向,只是改變瀏覽器中顯示的網址。 這甚至可能嗎?

謝謝!
Manuel

+1

,這將是一個巨大的安全漏洞,如果瀏覽器允許這樣的事。 – biziclop

+0

嘿嘿,你是對的... –

回答

3

您可以用JavaScript更改URL的唯一部分是散

你可以改變localhost:8080/#/someUrllocalhost:8080/#/otherUrl

做到這一點與window.location.hash

下面是一個Flash網站的例子,它使用這個概念來允許深層鏈接URL:http://www.2advanced.com

+1

你可以在地址欄中更改網址,就像@ martin-g在他的答案中所說的可以用歷史API實現的那樣 – spuas

+0

這一行代碼如下:window.history.pushState(「 「,」「,url); 我更感興趣如何強制http鏈接使用新的URL而不是舊的參數。 – karate

+0

你是否看到這個問題的日期@AzatMartirosyan?那麼HTML5並未在生產中使用。 – AlienWebguy

0

不,它不是。如果您在瀏覽器中更改位置,則會向該URL發出新的請求。

(你做到這一點與window.location.href = newUrl,但頁面重新加載)

3

其實你可以! 但這根本與Wicket無關。 這是HTML5中新的歷史API所關注的內容。 只需在Google中搜索「html5歷史API示例」即可享受。