刚接触jQuery,我在获取服务器生成的url参数时遇到了麻烦。我有一个这样的url:
<span class="popuptest"><a href="www.example.com/test?param1=1¶m2=2">find param</a></span>
我的jquery函数看起来像这样:
$(function() {
$('.popuptest a').live('click', function(event) {
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = this.href.slice(this.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});
var second = getUrlVars()["param2"];
alert(second);
return false;
});
});
点击链接应该会显示“2”,但是我什么也没有得到...对jQuery noob有任何帮助吗?提前感谢!
我在一个博客上发现了这个:http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
9条答案
按热度按时间gojuced71#
你不需要jQuery,你可以使用纯JavaScript:
你可以这样调用函数..
getParameterByName(param1,href of your link)
DEMO
1bqhqjot2#
一个小的改进,只解析一次url,返回数组或参数:
http://jsfiddle.net/shakhal/gXM3u/
af7jpaap3#
这很简单,你所要做的就是把你想要的URL中的变量名放入这个函数中,然后它会返回URL变量的值
goucqfw64#
nafvub8i5#
Jquery内置了获取URL参数的函数。
kognpnkq6#
你的jquery可能是
注意事项:
1.$.getUrlVars in line - var second = $.getUrlVars()[“param2”];
ktecyv1j7#
从here
3hvapo4f8#
如此简单,您可以使用任何URL并在Javascript中获取值。这是一套完整的代码
pjngdqdw9#
使用下面的代码有一段时间了,但最近发现URL中的base64_encode字符串有一个问题,结尾处有==,比如:/index.php?a=1&b=2&c=Mw==&d=4.
使用getUrlVar(“c”)会得到'Mw'作为结果,但这应该是'Mw==',因此添加了一行: