始于足下 ——页面链接参数的截取

在处理业务的时候有时会用到通过页面跳转链接来传递参数

如何才能取到传过来的参数并且以对象的形式展示出来呢?

今天我找到了一个方法,作以记录!

方法如下:

     function getQueryStringArgs(){

    //取得查询字符串并且去掉开头的问号

    let qs = (location.search.length > 0 ? location.search.substring ( 1 ) : " " );

    //声明保存数据的对象

    let args = {};

    //取得每一项

    items = qs.length ? qs.split("&") : [ ];

    item = null;

    name = null;

    value  = null;

    //在for循环中使用

    for( let i = 0 ; i < items.length ; i++){

      item = items [ i ] . split("=");

      name = decodeURIComponent(item[0]);

      value = decodeURIComponent(item[1]);

      if(name.length){

        args[name] = value;

      }

    }

    return args;

  }

  这个方法主要使用的是location对象的search属性,先是获取到连接中  “ ?” 以及后面的内容,然后在第一步就将 ?截取掉,留下后面的 name=value & name=value 类似于这样的键值对组合字符串,第二步再通过 split 方法,返回所有的键值对数组,类似于[ " name = value"," name = value"," name = value"],

最后一步循环这个数组,对其中的每一项通过split方法再进行截取,标识符为“=”,返回的值类似于[ "name","value"],最后通过提前声明的接受参数对数组中的内容进行接收,最后放入事前声明的保存数据的对象中,由此,功能完成

  

posted @ 2019-06-22 10:27  么得感情的杀手  阅读(144)  评论(0)    收藏  举报