2014-01-08 44 views
1

我有可能是以下任何一種(或更多)的URL:將參數添加到可能有或沒有查詢參數的URL?

http://www.mysite.com/some/url 
http://www.mysite.com/some/url?a=b 
http://www.mysite.com/some/url?a=b&c=d 

我想一個簡單的方法到另一值追加到末尾,例如「E = F,使得在每個情況下,我最終會:

http://www.mysite.com/some/url?e=f 
http://www.mysite.com/some/url?a=b&e=f 
http://www.mysite.com/some/url?a=b&c=d&e=f 

什麼是做到這一點的最簡單的方法下面將並不適用於所有情況下工作:

var url = 'http://www.mysite.com/some/url'; 
var newQuery = 'e=f'; 
url += '?' + newQuery; 

有內置到jQuery的東西,可以漢解析URL和添加參數?

回答

2

這將添加一個查詢字符串,如果你沒有它(或)追加到現有的,如果你有一個。

var url = 'http://www.mysite.com/some/url?a=b'; 
var newQuery = 'e=f'; 
url += ((url.indexOf('?') != -1) ? '&' : '?') + newQuery; 
0

有newQuery總是一個數組,如果它是空的 - 只要使用url,如果不是 - 追加值。

var url = 'http://www.mysite.com/some/url'; 
var newQueries = ['e=f', 's=e', 'x=y']; 
url += newQueries.length && '?' + newQueries.join('&'); 
+0

問題是,URL是可能更改的部分。它可能是任何東西。我想要一種APPENDING一個新的查詢參數,而不會破壞網址。 – coderama

0

把你的附加參數與字符串元素的數組變量和這些 變量添加到烏爾URL

動態地更新陣列和添加參數

例如:

變種additional_params = ['e = f','s = e']

if additional_params.length!= 0

http://www.mysite.com/some/url?」 + additional_params.join('&')