最新的jQuery,我无法获取我的服务器生成的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
解决方法
您不需要jQuery为此目的可以使用纯JavaScript:
function getParameterByName( name,href ) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec( href ); if( results == null ) return ""; else return decodeURIComponent(results[1].replace(/\+/g," ")); }