HTML 将变量追加到查询字符串


HTML Append Variable to Query String

我有http://localhost/?val=1

当我单击链接时,是否有办法将此链接附加到当前字符串,例如:

<a href="&var2=2">Link</a> 

所以当我click它时,网址将是:

http://localhost/?val=1&var2=2 

但是当我单击链接时,它会删除第一个查询字符串,看起来像

http://localhost/&var2=2

普通 HTML 可以这样的事情吗?

你不能只使用 html 来做到这一点,但你可以用 js 或 php 来做到这一点:

使用 JS

<a onclick="window.location+=((window.location.href.indexOf('?')+1)?'':'?')+'&var2=2'">Link</a>

使用 php

<a href="<?php echo basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING']."&var2=2" ?>">Link</a>

注意 1:确保当前链接中没有新变量,否则它将是同一变量的循环

注意2:这不是一种专业的方式,但如果您需要快速的东西,它可以工作。

基本上,您希望通过以下方式通过JavaScript获取当前URL:

var existingUrl = window.location.href; // http://localhost/?val=1

然后使用以下方法追加任何适用的查询字符串:

window.location.href = existingUrl + '&var2=2';

或其他一些类似的代码。看看这篇关于查询参数的文章。

注意:必须已经存在一个带有 OnClick 事件的链接,该事件调用包含上述代码的函数才能正常工作。


显然,这本身并不是非常有用的信息,所以你需要在JavaScript或服务器代码中做一些工作(通过使用NodeJS,PHP或其他一些服务器端语言)来传递这些变量名称及其值,以便按钮可以做你想要它做的事情。

不过,您必须有一些逻辑来确保查询参数正确放入 URL 中。 即,如果只有一个查询参数,它将看起来像'?var1=1',如果是任何后续参数,它将看起来像'&var#=#'。