假设您有一个类似http://www.somesite.com/somepage.html?id=1&page=2&field=3
现在使用jQuery我想显示传递给页面的所有GET变量。我怎么做到这一点。如果它作为一些Debug函数的一部分完成的话,它很好(甚至可能更好)。
答案 0 :(得分:2)
(function(){
var $_GET = {};
jQuery.each( document.location.search.substr(1).split( "&" ), function(index, value ){
var split = value.split("=");
$_GET[decodeURIComponent( split[0] )] = decodeURIComponent( split[1] );
});
window.$_GET = $_GET;
})();
答案 1 :(得分:1)
您需要查看window.location.href变量。
这是一个很好的指南,可以完全按照您的要求执行:http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
基本上使用getUrlVars扩展jQuery:
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.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 allVars = $.getUrlVars();
var byName = $.getUrlVar('name');
答案 2 :(得分:1)
您可以使用window.location.search
。这是一个快速函数,它将参数作为对象返回:
function getParameters() {
var parameters = {};
var splitStr = window.location.search.substring(1).split(/[&=]/);
var i, key, value;
for(i = 0; typeof (key = splitStr[i], value = splitStr[i + 1]) !== 'undefined'); i += 2) {
parameters[decodeURIComponent(key)] = decodeURIComponent(value);
}
return parameters;
}