获取URL中的参数(使用循环获取,存进集合中,以url中的参数作为key,可根据需要根据key调取自己想要的参数)

时隔多日我不再是之前的懵懂少年现在再次用到这个方法已经能领会了直接上图在解释 我得微信 17625089935 欢迎添加

    //获取url
    var url = decodeURI(location.href);
    //将url中?号之后的数据截取出来     因为url中?号之后的参数都是用&拼接  所以我们使用split方法根据&拆分并组装成数组
    // 此时的 下标0的数据是 id=22  下标1的数据是 status=1
    var dataStr = url.substring(url.indexOf("?") + 1, url.length).split("&");
    //定义一个对象
    var dataURL = {};
    for (var i = 0; i < dataStr.length; i++) {
        //使用data[对象属性]=value 给data对象进行赋值
        //对象属性 就根据我们差分好的dataStr再次根据=号进行截取 =号之前的id作为对象属性 =号之后的作为value
        // toLowerCase()是将 对象属性 里面的字符转换成小写
        dataURL[dataStr[i].substring(0, dataStr[i].indexOf("=")).toLowerCase()] = dataStr[i].substring(dataStr[i].indexOf("=") + 1);
    }
    //然后我们使用data["id"]或者data.id/data.status就可以获取到值了
    $("#id").val(dataURL["id"]);

 

//==================下面是我不太懂的时候做的备份防止以后遇到不会,现在也不需要看了=================

 

 

 

 

这是index页面  中的点击事件方法                       准备跳转到model_xxxx-list.html的页面,传的id

function model_xxxx_list(obj,id){
			window.location.href="xxxx/model-xxxx-list.html?modelID=" + id;
		}

这是model_xxxx-list.html页面中  准备获取index页面传过来的参数

  1. 首先获取url
  2. 然后创建paraString 这应该是个数组 将url中的参数,按照顺序存进去
  3. 然后创建paraObj 这应该是个集合
  4. 然后循环遍历这个数组,根据 参数 有多少 就 循环多少次
    1. j.substring(0, j.indexOf("=")).toLowerCase()    这一段代码应该是获取url中 = 号前面的参数   也就是modelID,至于后面为什么用小写的modelid获取,是因为toLowerCase()它会自动将大写转换成小写 ,总之目的只有一个就是将 = 号前面的参数作为key,
    2. j.substring(j.indexOf("=") + 1, j.length)  这个毋庸置疑的就是获取=号后面的参数了  
    3. 最后将获取的参数  赋值  给定义好的key的集合中去  这样就可以根据key获取你想要的值了
  5. 最后一步用三元运算符,如果undifind(没有找到)就赋值空的 “”,有值就根据key获取 paraObj["modelid"]
        //获取modelid
	var url = decodeURI(location.href);
	var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
	var paraObj = { };
	for (i = 0; j = paraString[i]; i++) {
	    paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
	}
	var modelId2=(typeof (paraObj["modelid"]) == "undefined")?"":paraObj["modelid"];

 最后你可以根据获取到的ID  曰天,曰地,曰空气了(1-5中的讲解,是我猜的。如有不对请请指点出来,但是亲测有用【单参传递,多参没测】)欢迎各位大佬加我wx:17625089935

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值