使用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
原文地址:https://www.cnblogs.com/jackylovewendy/p/3978584.html