始于足下 ——页面链接参数的截取
在处理业务的时候有时会用到通过页面跳转链接来传递参数
如何才能取到传过来的参数并且以对象的形式展示出来呢?
今天我找到了一个方法,作以记录!
方法如下:
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"],最后通过提前声明的接受参数对数组中的内容进行接收,最后放入事前声明的保存数据的对象中,由此,功能完成

浙公网安备 33010602011771号