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

这是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获取,可能是因为它会自动将大写转换成小写 或者不区分大小写,总之目的只有一个就是将 = 号前面的参数作为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

猜你喜欢

转载自blog.csdn.net/Mr_ZhangAdd/article/details/84376148
今日推荐