2013-01-24 53 views
0

簡單的問題:我可以使用JavaScript將GET參數寫入當前文檔URL嗎?用JavaScript寫入GET參數?

說我的網址是:

/search 

我可以把它改成:

/search?price_from=100 

沒有回發的頁面?

我正在創建一個單頁JavaScript應用程序和History API。我想讓別人搜索而不重新加載頁面。我還想讓它們鏈接到使用標準GET參數的結果頁網址。

+0

你可以發佈你試過的任何代碼嗎?如果你使用History API,你不能只使用pushstate嗎? – Toddish

+0

看起來我可以,是的。出於某種原因,我認爲我無法用pushstate編寫帶有URL的問號。不正確的假設。 – Richard

回答

0

只需使用history.pushState

var getParameters = "?price_from=100" 
history.pushState(null, null, document.location.origin + document.location.pathname + getParameters); 

歷史API不被舊版本瀏覽器的支持,雖然,如果你需要支持他們,你可以使用馬克的建議。

0

號你可以howver把它散後,如:

/搜索#price_from = 100

,並不會重新載入頁面/回發。

+0

如果您使用框架來構建單頁面應用程序,它將使這更容易。 AngularJS有這樣一個美麗的機制。 –

+0

這是一個AngularJS應用程序的全新示例。 LendingTree剛剛推出了這個網站:https://www.lendingtree.com/loan-explorer它是用angularjs構建的。 –

+0

我使用的是Backbone.js,所以我可以使用'app.navigate()'。 – Richard