问题

有没有无插件的方式可以通过jQuery检索查询字符串值(或不使用)?

如果是,如何?如果没有,是否有插件可以这样做?



解决方法

您不需要jQuery为此目的.您只能使用一些纯JavaScript:

function getParameterByName(name, url) {
    if (!url) {
      url = window.location.href;
    }
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

用法:

// query string: ?foo=lorem&bar=&baz
var foo = getParameterByName('foo'); // "lorem"
var bar = getParameterByName('bar'); // "" (present with empty value)
var baz = getParameterByName('baz'); // "" (present with no value)
var qux = getParameterByName('qux'); // null (absent)


注意:如果一个参数存在多次(?foo = lorem& foo = ipsum ),您将获得第一个值( lorem ).没有关于此的标准,并且使用方式不同,请参见例如此问题:重复的HTTP GET查询键的权威位置.




相关问题推荐