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>  

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)
--------------------- 
版权声明:本文为CSDN博主「qq_42833778」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42833778/article/details/83621829

 

posted @ 2019-08-15 08:39  三水木00  阅读(31131)  评论(0编辑  收藏  举报