读取url JQuery中的GET变量
对不起另一个“简单”的问题,但是有一种简单的方法可以从URL中读取GET变量。 例。 我有一个urlhttp://www.domain.com/page.php?var1=1
在我的情况下,我只有1个变量,即var1
或var2
(变量可以改变但每个url只有一个)。 我看到的所有tuts都与数组有关,而不是“单例”。我知道数组解决方案可能更好,但这只是一个简单的单个get变量。 有什么建议? 提前致谢
var split = location.search.replace('?', '').split('=')
split[0]
是你的var名称, split[1]
是你的var值。 你实际上并不需要jQuery代替那段代码;)
至于twiz的评论,可以像这样分割多个变量:
var split = location.search.replace('?', '').split('&').map(function(val){ return val.split('='); });
您可以通过split[index][0]
访问变量名,通过split[index][1]
。
当然,您也可以使用第二个代码段而不是第一个代码段用于一个变量。
我在我的默认javascript文件中使用它。
var get = []; location.search.replace('?', '').split('&').forEach(function (val) { split = val.split("=", 2); get[split[0]] = split[1]; });
现在您可以按名称使用它们:
get["var1"]
如果var存在,您可以使用此函数从url返回指定var名称的值。 否则你会得到一个空字符串。
function getUrlValue(varName) { var split = $(location).attr('href').split('?'); var value = ''; if (split.length == 2) { split = split[1].split('&'); for (var i = 0; i < split.length; i+=1) { var keyValue = split[i].split('='); if (keyValue.length == 2 && keyValue[0] == varName) { value = keyValue[1]; break; } } } return value; }