JavaScript学习笔记

JavaScript获取请求参数

2018-06-21  本文已影响0人  小人物的秘密花园

概述

最近做的项目中涉及到获取href中携带的参数,不想通过提取字符串的方式来一个一个的获取参数,故自己写了一个方法来获取参数,一以便以后开发中重复使用;

实现

思路

  1. 通过window.location.search获取到参数部分,并定义一个空对象obj用于放各参数及其值;
  2. 提取字符之后的参数部分,并根据&分割字符串;
  3. 遍历2中得到的字符数组,再将数组的每一个元素都以=分割,然后将得到的数组的第一个元素作为对象的键,第二个元素作为值,最终得到一组键值对;
  4. 返回对象(obj)

代码

function getParams() {
    // 获取参数部分
    var params = window.location.search;
    // 提取除?外的剩余部分
    var searchs = params.substring(params.indexOf('?') + 1);
    // 字符串转换为字符数组
    var arr = searchs.split('&');
    var obj = {};
    // 遍历字符串数组
    for (var i = 0; i < arr.length; i++) {
        // 分割字符串
        var item = arr[i].split('=');
        // 组装键值对
        obj[item[0]] = item[1];
    }
    return obj;
}

例子

例如: window.location.href = '127.0.0.1:8080/page/index?id=0&no=1&sub=3'
调用上述的方法: window.location.search = '?id=0&no=1&sub=3'
最终结果是:

{
id:"0",
no: "1",
sub: "3"
}
上一篇 下一篇

猜你喜欢

热点阅读