使用JavaScript获取Request中参数的值

  本人很少写博客,有不正确的地方还希望大家多多指导。

  假设现在有一个URL,如下。

  如何通过JS访问到id和name里面的值呢,实现我们来分析一下思路。

  1. 先获取当前页面的URL,通过window.location.href。
  2. 提取该URL?后面的部分,通过slice()方法。
  3. 把获取到的Request对象分割成字符串数组,通过split() 方法。

  接下来看代码。

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;

}
View Code

  接下来就是获取指定参数的值了,代码如下。

var id = getUrlVars()["id"];  

var name = getUrlVars()["name"]; 
View Code

  最后,我们再看看jQuery的写法。

 1 $.extend({

 2     getUrlVars: function() {

 3         var vars = [],

 4             hash;

 5         var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

 6         for (var i = 0; i < hashes.length; i++) {

 7             hash = hashes[i].split('=');

 8             vars.push(hash[0]);

 9             vars[hash[0]] = hash[1];

10         }

11         return vars;

12     },

13     getUrlVar: function(name) {

14         return $.getUrlVars()[name];

15     }

16 });

17 var id = $.getUrlVar('id');

18 var name = $.getUrlVar('name');
View Code

 

你可能感兴趣的:(JavaScript)