我使用以下剪切/粘贴功能来获取URL参数。
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
var i = 0;
for(i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
它工作得很好,但是当我得到一个像:
这样的网址时http://someurl.com/login.html?redirecturl=http://someurl.com/game_detail.html?id=3&reminderid=5
我做了类似的事情:
loginVars = getUrlVars();
alert("redirecting to: "+loginVars['redirecturl']);
我只得到:
redirecting to: http://someurl.com/game_detail.html?id
但我想要的是整体:http://someurl.com/game_detail.html?id=3&reminderid=5
答案 0 :(得分:1)
正如我所说,一般情况下你不能猜测,特别是当参数(通过RFC)属于原始网址,而不是其中一个参数中的网址,而是应用于你的例如,您可以使用
var str = 'http://someurl.com/login.html?redirecturl='+
'http://someurl.com/game_detail.html?id=3&reminderid=5',
separator = 'redirecturl=';
alert(str.substring(str.indexOf(separator)+separator.length));