将参数传递到新 URL

Posted

技术标签:

【中文标题】将参数传递到新 URL【英文标题】:Carry over arguments to new URL 【发布时间】:2014-01-05 12:20:30 【问题描述】:

我正在处理 html 中的一些锚标记,我需要将一些参数从第一个 url 传递到第二个 url

<a href="newpage.html">My Link</a>

我当前的网址是 - oldpage.html?arg=value

但“我的链接”重定向到 -

newpage.html

而不是

newpage.html?arg=value

我如何结转arg 的值?

【问题讨论】:

【参考方案1】:

如果你只想复制一个已知的变量,那么简单

<?php echo "<a href=\"newpage.html?arg=" . urlencode($_GET["arg"]) . "\">My Link</a>" ?>

然后oldpage.html?arg=value 会生成一个指向newpage.html?arg=value 的链接。

但是,如果您想传递整个查询字符串,可以使用 $_SERVER["QUERY_STRING"] 变量来实现。

<?php echo "<a href=\"newpage.html?" . urlencode($_SERVER["QUERY_STRING"]) . "\">My Link</a>" ?>

这会将整个查询字符串传播到新页面。因此,如果您使用oldpage.html?arg=value&amp;color=green 访问当前页面,则链接将指向newpage.html?arg=value&amp;color=green

您也可以使用http_build_query,允许您添加额外的参数或根据需要修改现有的查询字符串。

<?php echo "<a href=\"newpage.html?" . http_build_query($_GET + array("foo" => "bar")) . "\">My Link</a>" ?>

使用它,以oldpage.html?arg=value 导航到当前页面将生成指向newpage.html?arg=value&amp;foo=bar 的链接。

【讨论】:

【参考方案2】:
<a href="newpage.html?arg=<?php echo $_GET['arg']; ?>">My Link</a>

【讨论】:

这个解决方案对我来说效果更好。 @sargant 的 urlencode($_SERVER["QUERY_STRING"]) 将我的 & 符号转换为特殊字符代码 %s。【参考方案3】:

或者你可以这样做:

<a href="newpage.html?<?php echo $_SERVER['QUERY_STRING']; ?>">My Link</a>

但前提是您的服务器允许您使用 SERVER 变量。

【讨论】:

以上是关于将参数传递到新 URL的主要内容,如果未能解决你的问题,请参考以下文章

如何在Vue中提交表单,重定向到新路由并传递参数?

thinkphp js参数传递问题

VB。NET里Response.Redirect传递参数怎么传啊????

微信小程序实现wxml视图向js传递参数的方法(点击view带参数进入js)

将会话 ID 作为 url 参数传递的危害

django:将 url 作为参数传递