从A页面通过url传参到B页面时,解析url参数可以用下面两种方法:
方法一:正则分析法
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }
这样调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
方法二:
<span
style= "font-size:
16px;" ><Script
language= "javascript" >
function GetRequest()
{
var url
= location.search; //获取url中"?"符后的字串
var theRequest
= new Object();
if (url.indexOf( "?" )
!= -1) {
var str
= url.substr(1);
strs
= str.split( "&" );
for ( var i
= 0; i < strs.length; i ++) {
theRequest[strs[i].split( "=" )[0]]=unescape(strs[i].split( "=" )[1]);
}
}
return theRequest;
}
</Script></span>
|
这样调用:
<Script language="javascript"> var Request = new Object(); Request = GetRequest(); var 参数1,参数2,参数3,参数N; 参数1 = Request['参数1']; 参数2 = Request['参数2']; 参数3 = Request['参数3']; 参数N = Request['参数N']; </Script>
如果参数中含有中文字符,注意转编码和解码:
- <span style="font-size:18px;">1.传参页面
- Javascript代码:<script type=”text/javascript”>
- function send(){
- var url = "test01.html";
- var userName = $("#userName").html();
- window.open(encodeURI(url + "?userName=" + userName)); }
- </script>
- 2. 接收参数页面:test02.html
- <script>
- var urlinfo = window.location.href;//获取url
- var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”后面的参数
- $(“#userName”).html(decodeURI(userName));
- </script></span>
|