本页面JS如何获取上一个页面超链接传来的参数

时间:2022-12-04 14:57:16
上一个页面中有一个超链接链表都跳转到本页面,并且都带有参数,那么本页面JS中怎么获取传来的参数,我用以下方法总是获取为空!坐等大神指点!
var url = document.referrer;
function getUtlParam(url,name){
var pattern = new RegExp("[?&]" + name +"\=([^&]+)","g");
var matcher = pattern.exec(url);
var items = null;
if(matcher != null){
try{
items = decodeURIComponent(decodeURIComponent(matcher[1]));
}catch(e){
try{
items = decodeURIComponent(matcher[1]);
}catch(e){
items = matcher[1];
}
}
}
return items;
}

6 个解决方案

#1


查下location的属性,然后看下它的一些属性

#2


http://localhost/index.html?type=country&id=12&page=10


  <script type="text/javascript">
var url = window.location;
function getUrlParam(url,name){
var pattern = new RegExp("[?&]" + name +"\=([^&]+)","g");
var matcher = pattern.exec(url);
var items = null;
if(matcher != null){
try{
items = decodeURIComponent(decodeURIComponent(matcher[1]));
}catch(e){
try{
items = decodeURIComponent(matcher[1]);
}catch(e){
items = matcher[1];
}
}
}
return items;
}

alert(getUrlParam(url,'type')); // country
alert(getUrlParam(url,'id')); // 12
alert(getUrlParam(url,'page')); // 10

  </script>


另外function名应该叫getUrlParam而不是getUtlParam吧。

#3


引用 1 楼 zyl_lyr1019 的回复:
查下location的属性,然后看下它的一些属性

上面我写的url返回的是上一个页面的URL,而我想得到的参数在上一个页面的本页面URL中,location的一些属性只能得到本页面的url!

#4


Quote: 引用 2 楼 fdipzone 的回复:

你这个是获取本页面连接中的参数吧?我想获取从上一个页面超链接传过来的参数,怎么破?
函数名那个没有关系吧!

#5


var url = "www.zhangyunling.com?aada=adaa&adad=adasd&sdfs=asdad#did",
reg = /([^\=\?|\&]+)\=([^\=\&\#]+)/g;
var aa = url.match(reg);

console.log(aa);
url.replace(reg,function($1,$2,$3){
console.log($2+"="+$3);
});


看你的意思,是不是想要使用正则表达式实现?
试试这样可以得到你想要的结果不。

#6


引用 4 楼 peixuan197 的回复:
Quote: 引用 2 楼 fdipzone 的回复:

你这个是获取本页面连接中的参数吧?我想获取从上一个页面超链接传过来的参数,怎么破?
函数名那个没有关系吧!


當前頁面url後面的參數就是上一頁的超鏈接跳過來的,有什麼問題?
你不是要獲取上一頁傳過來的參數麼?

#1


查下location的属性,然后看下它的一些属性

#2


http://localhost/index.html?type=country&id=12&page=10


  <script type="text/javascript">
var url = window.location;
function getUrlParam(url,name){
var pattern = new RegExp("[?&]" + name +"\=([^&]+)","g");
var matcher = pattern.exec(url);
var items = null;
if(matcher != null){
try{
items = decodeURIComponent(decodeURIComponent(matcher[1]));
}catch(e){
try{
items = decodeURIComponent(matcher[1]);
}catch(e){
items = matcher[1];
}
}
}
return items;
}

alert(getUrlParam(url,'type')); // country
alert(getUrlParam(url,'id')); // 12
alert(getUrlParam(url,'page')); // 10

  </script>


另外function名应该叫getUrlParam而不是getUtlParam吧。

#3


引用 1 楼 zyl_lyr1019 的回复:
查下location的属性,然后看下它的一些属性

上面我写的url返回的是上一个页面的URL,而我想得到的参数在上一个页面的本页面URL中,location的一些属性只能得到本页面的url!

#4


Quote: 引用 2 楼 fdipzone 的回复:

你这个是获取本页面连接中的参数吧?我想获取从上一个页面超链接传过来的参数,怎么破?
函数名那个没有关系吧!

#5


var url = "www.zhangyunling.com?aada=adaa&adad=adasd&sdfs=asdad#did",
reg = /([^\=\?|\&]+)\=([^\=\&\#]+)/g;
var aa = url.match(reg);

console.log(aa);
url.replace(reg,function($1,$2,$3){
console.log($2+"="+$3);
});


看你的意思,是不是想要使用正则表达式实现?
试试这样可以得到你想要的结果不。

#6


引用 4 楼 peixuan197 的回复:
Quote: 引用 2 楼 fdipzone 的回复:

你这个是获取本页面连接中的参数吧?我想获取从上一个页面超链接传过来的参数,怎么破?
函数名那个没有关系吧!


當前頁面url後面的參數就是上一頁的超鏈接跳過來的,有什麼問題?
你不是要獲取上一頁傳過來的參數麼?