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获取这些值

<script>
     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>



参考技术A location.href=“A?a="+ b + "&c=" + d;

关于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传值问题的主要内容,如果未能解决你的问题,请参考以下文章

location.href传值带中文参数的该怎么处理

window.location.href

js中location.href的用法

js中top.location.hrefparent.location.href用法

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法

js语句location.href怎么让它到新窗口打开