2010-08-19 31 views
0

我爲我的網站實施深層鏈接。簡單的舊查詢字符串與jQuery的地址

我不知道,爲什麼jQuery的地址不能只是設置一個查詢字符串,如:

www.mywebsite.com?search=keyword 

當我使用

$.address.parameter("search", "keyword") 

jQuery的地址集如下網址:

www.mywebsite.com?search#/?keyword 

爲什麼呢?

我只需要簡單的舊查詢字符串,就像我的第一個例子。

請幫忙!

+0

出於興趣,爲什麼您使用jQuery這樣的事情?爲什麼不只是在javascript中設置window.location,這可能是jquery所做的事呢? – 2010-08-19 19:09:38

回答

0

這些地址使用哈希,這是因爲它們是爲客戶端。如果你想操縱查詢字符串,你可以使用query plugin。例如: -

window.location.search = $.query.set('search', 'keyword'); 

編輯:

如果要進行多次修改,你可以做,例如:

var newQuery = $.query.set('search', 'keyword'); 
// ... 
newQuery = newQuery.set('another', 'value'); 
window.location.search = newQuery; 
+0

謝謝,它似乎與設置的簡單情況下工作。 但我有麻煩設置值,用逗號分隔。此代碼:window.location.search = $ .query.set('search','keyword1,keyword2')產生如下的URL:www.mywebsite.com?search=keyword1%2C%2Bkeyword2。 %2C代碼是可以的,因爲它是逗號,但%2B很奇怪,因爲它是「+」號。因此,它設置了?search = keyword1,+ keyword2而不是?search = keyword,keyword2 – AntonAL 2010-08-19 18:59:47

+0

'+'用於[application/x-www-form-urlencoded]中的空格(http://en.wikipedia.org/維基/百分比編碼#The_application.2Fx WWW的形式-urlencoded_type)。但是,我不知道該URL是否完全正確。 – 2010-08-19 19:32:14

+0

嗯。設置window.location強制重定向到修改的URL並重新加載頁面。不幸的是,這種方式不適合我... – AntonAL 2010-08-20 12:38:11