从URL获取查询字符串并将其传递给Href

时间:2019-07-23 09:21:11

标签: javascript html

我在这里看到了几种可能的解决方案,但是以某种方式我找不到合适的解决方案。

我的情况是这样的:

用户进入带有网址查询字符串的pageA。

它看起来像这样: http://example.com?name=xxxxx&email=xxxxx&a1=1xxxxx

在该页面上,我有两个链接,可以说它们的ID为linkA和linkB。

我对第一个这样的标记感兴趣:

<a href="" id="linkA">Link A</a>

我需要从url获取整个查询字符串,并将其添加到linkA,后者将指向另一个URL。 因此,最终链接如下所示:

<a href="http://anotherurl.com?name=xxxxx&email=xxxxx&a1=1xxxxx" id="linkA">Link A</a>

您能帮我解决干净的问题吗?

提前谢谢!

3 个答案:

答案 0 :(得分:3)

您只需使用window.location.search即可从页面的URL访问整个查询字符串。它将返回如下内容:?name=xxxxx&email=xxxxx&a1=1xxxxx

然后您可以将其附加到锚元素的href属性中,例如

document.querySelector('#linkA').href = `http://anotherurl.com/${window.location.search}`;

如果您需要基于ES5的解决方案,那么它将起作用:

document.querySelector('#linkA').href = 'http://anotherurl.com/' + window.location.search;

答案 1 :(得分:0)

您可以尝试使用window.location的搜索键,该搜索键返回当前url的搜索查询。

因此,在http://example.com/?name=xxxxx&email=xxxxx&a1=1xxxxx上,使用以下

window.location.search

将为您提供以下字符串

?name=xxxxx&email=xxxxx&a1=1xxxxx

然后您可以将此字符串附加到第二个锚标记的“ href”上

答案 2 :(得分:0)

尝试此代码,效果很好:

$(document).ready(function(){
    var parameters = window.location.search;
    var link = $('#linkA').attr('href');
    $('#linkA').attr('href', link + parameters);
});