2011-12-07 79 views
0

所以這裏是我需要做的。jQuery ajax導航與?而不是#

我有一個web應用程序,需要使用這些類型的URL的工作:

http://app.com/?this_is_similar_to_anchor 

默認情況下,我可以使用window.location.hash,只是使用#改變對URL的東西。但我注意到一些網站正在使用問號而不是散列。這就是我需要的。

爲什麼我需要它?

我需要發送任何後##到服務器,但不能發送它使用ajax一旦加載頁面。

因此,它對於應用程序擁有#之後的任何內容至關重要,以便處理頁面。

那是我剛剛開始使用的時候?相反,所以服務器端也可以訪問它。

它就像客戶端和服務器端共享此參數。

我嘗試了不同的方法,只需使用:

window.location.href= 'add_parameter'; 
event.PreventDefault(); or return false; etc to stop the browser to actually change the URL. 

TLDR:我需要能夠將URL從:

www.site.com/?url1

到這

www.site.com/?url2

在飛,沒有重新加載頁面,而不是使用#。 (或者任何方式對#轉換爲?)

感謝,

+0

'但是不能在頁面加載時使用ajax發送它.'爲什麼你不能使用ajax? – PeeHaa

回答

1

在此請看:

history.pushState(stateObj, "page 2", "bar.html"); 

Manipulating Browser Histroy

但是,這不會將信息發送到瀏覽器,因爲它不會使頁面重新加載。如果您不希望頁面重新加載,恐怕您必須使用AJAX,或者,如果您不能,可以將表單提交給隱藏的iframe。