原文地址: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就是我们需要的参数对象;
console.log( theRequest.role);
}
location.href传参中文乱码问题解决
在js中通过window.location.href方式跳转页面并在路径上传递参数中文乱码解决
js中对中文进行编码:(不对ASCII 字母和数字进行编码)
window.location.href = ‘aaa.html?Unit=’+encodeURI(encodeURI(中文内容))//有时候需要两次编码
window.location.href = ‘aaa.html?Unit=’+encodeURI(中文内容)
在接收页面接收的时候再解码回来即可 decodeURI(window.location.href)