JQuery 得到Request url的参数(not plugin)

今天看文章的时候,看到一篇文章,非常好,这里我也尝试了一下

 

JQuery 怎么得到request url中的参数呢?

 

其实很简单,就是循环遍历url,然后找到“&”这个符号

 

 

下面是源代码

 

 

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    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;
}

 

 

上面是得到URL的数组

 

我们打个比方

 

1.URL如下

 

 

http://www.example.com/?me=myValue&name2=SomeOtherValue
 

 

2.我们在浏览器中可以看到数组如下

 

 

{
    "me"    : "myValue",
    "name2" : "SomeOtherValue"
}
 

 

3.得到相应的参数的值

 

 

var first = getUrlVars()["me"];

// To get the second parameter
var second = getUrlVars()["name2"];
 

 

 

简单吧

 

下面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];
  }
});

 

 得到相应的值的方法

 

 

// Get object of URL parameters
var allVars = $.getUrlVars();

// Getting URL var by its nam
var byName = $.getUrlVar('name');

 

 

简简单单的,非常好用。。。希望大家顶起来

 

 

 

参考:http://jquery-howto.blogspot.jp/2009/09/get-url-parameters-values-with-jquery.html

你可能感兴趣的:(request)