我的网址可以是以下任何一种(或更多):
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和添加参数?
答案 0 :(得分:2)
如果您没有查询字符串,则会添加一个查询字符串(或)如果已有查询字符串,则会附加到现有字符串。
var url = 'http://www.mysite.com/some/url?a=b';
var newQuery = 'e=f';
url += ((url.indexOf('?') != -1) ? '&' : '?') + newQuery;
答案 1 :(得分:1)
你可以这样做:
var url = 'http://www.mysite.com/some/url';
var newQuery = 'e=f';
url += (url.indexOf('?') == -1 ? '?' : ' &') + newQuery;
如果indexOf
不在网址中,则会与?
核对,并添加?
,否则&
+您的newQuery
。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
答案 2 :(得分:0)
让newQueries始终是一个数组,如果它是空的 - 只需使用url,如果不是 - 附加值。
var url = 'http://www.mysite.com/some/url';
var newQueries = ['e=f', 's=e', 'x=y'];
url += newQueries.length && '?' + newQueries.join('&');
答案 3 :(得分:0)
将带有字符串元素的数组变量中的其他参数添加到其中 变量到你的网址
动态更新数组并添加参数
示例:
var additional_params = [' e = f',' s = e']
如果additional_params.length!= 0
" http://www.mysite.com/some/url&#34?; + additional_params.join('&')