JS中location.href传值问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中location.href传值问题相关的知识,希望对你有一定的参考价值。
location.href一般是在链接后面加上问号来传值,多个值之间用&隔开,
举个栗子:
<script>location.href = 'localhost:8080/xxx/xxx?a=1&b=2&c=3';
</script>
这中间的 a、b、c 即为你要传递的参数;
在服务端可以解析url参数获得a、b、c的值, 在前端页面上也可以通过js获取这些值
var getUrlParam = function(name)
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
;
alert(getUrlParam('a'))
</script>
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法
"window.location.href"、"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转
举例说明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转
如果D页面中有form的话,
<form>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转
关于页面刷新,D 页面中这样写:
"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )
"top.location.reload();": A页面刷新
以上是关于JS中location.href传值问题的主要内容,如果未能解决你的问题,请参考以下文章
js中top.location.hrefparent.location.href用法
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法