location.href跳转页面时传递参数并且在新页面接收参数

<span style="font-size:18px;">可以直接使用window.location.href进行页面跳转  
window.location.href = "./punch/clock_frm.html"  
问号传参:  
window.location.href = "./punch/clock_frm.html?modFlag="+modFlag+'&role='+role;  
  
那么我们在新页面接收参数, 并且将参数转为可用的json格式时, 可以用下面的方法:  
var url = location.search; //获取url中"?"符后的字串 ('?modFlag=business&role=1')  
var theRequest = new Object();  
if ( url.indexOf( "?" ) != -1 ) {  
  var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串;  
  var strs = str.split( "&" );  
  for ( var i = 0; i < strs.length; i++ ) {  
    theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] );  
  }  
  console.log( theRequest ); //此时的theRequest就是我们需要的参数;  
}</span>  
//得到地址后面的公用方法

/*
 截取地址栏参数
 * */
UrlParm = function() { // url参数
	var data, index;
	(function init() {
		data = [];
		index = {};
		var u = window.location.search.substr(1);
		if(u != '') {
			var parms = decodeURIComponent(u).replace(/&amp;/g, "&").split('&');
			for(var i = 0, len = parms.length; i < len; i++) {
				if(parms[i] != '') {
					var p = parms[i].split("=");
					if(p.length == 1 || (p.length == 2 && p[1] == '')) { // p | p=
						data.push(['']);
						index[p[0]] = data.length - 1;
					} else if(typeof(p[0]) == 'undefined' || p[0] == '') { // =c | =
						data[0] = [p[1]];
					} else if(typeof(index[p[0]]) == 'undefined') { // c=aaa
						data.push([p[1]]);
						index[p[0]] = data.length - 1;
					} else { // c=aaa
						data[index[p[0]]].push(p[1]);
					}
				}
			}
		}
	})();
	return {
		// 获得参数,类似request.getParameter()
		parm: function(o) { // o: 参数名或者参数次序
			try {
				return(typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);
			} catch(e) {}
		},
		//获得参数组, 类似request.getParameterValues()
		parmValues: function(o) { // o: 参数名或者参数次序
			try {
				return(typeof(o) == 'number' ? data[o] : data[index[o]]);
			} catch(e) {}
		},
		//是否含有parmName参数
		hasParm: function(parmName) {
			return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;
		},
		// 获得参数Map ,类似request.getParameterMap()
		parmMap: function() {
			var map = {};
			try {
				for(var p in index) {
					map[p] = data[index[p]];
				}
			} catch(e) {}
			return map;
		}
	}
}();


页面这样获取 
var id=UrlParm.parm("id");

 

//layer 中传值 
layer.open({
		title: "修改景区",
		type: 2,
		area: ['40%', '65%'],
		content: "../page/hotoffensive/hotOffensiveEdit.html",
		success: function(layero, index) {
			var iframe = window['layui-layer-iframe' + index];
			iframe.child(data)
			setTimeout(function() {
				layer.tips('点击此处返回', '.layui-layer-setwin .layui-layer-close', {
					tips: 3
				});
			}, 500)
		},
		cancel: function(index, layero) { //取消事件
			parent.location.reload();
		},
	})


另外一个页面

	function child(data) {}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值