【问题标题】:How to send a parameter over http request using an anchor tag如何使用锚标记通过 http 请求发送参数
【发布时间】:2012-04-10 18:10:35
【问题描述】:

我想使用<a> 标记通过http 发送参数值,但我不希望在href 属性中设置它。

有没有办法做到这一点,以便我可以在服务器端接收该值?

谢谢。

【问题讨论】:

  • 不确定您要在这里完成什么。您可以使用隐藏字段(首选)或自定义属性,尽管 html 在技术上无效。
  • 为什么不通过 $_POST 变量发送它?
  • @Keith & @Zanrok:我只需要向服务器发送有关单击的链接类型的信息,我需要根据该类型显示表单。不能在那里使用 POST 请求,因为我正在使用 href 来设置表单,并且我也想使用相同的 URL 来处理(POST)请求。我想要一个有效的 HTML 来做同样的事情。而且我不希望将链接类型的点击信息发送到href 属性中的服务器。
  • 如果您为链接类型表单提供一个未出现在主表单中的 post 变量,那么 POST 方法应该可以正常工作。如果该变量存在,则服务器可以显示表单,否则处理表单提交。

标签: servlets anchor httprequest http-request-parameters


【解决方案1】:

要么使用 JS 提交(隐藏的)表单。

<form id="foo" method="post" action="servletURL">
    <input type="hidden" name="yourParamName" value="yourParamValue" />
</form>
<a href="#" onclick="document.getElementById('foo').submit(); return false;">link</a>

或者使用 CSS 来设置默认提交按钮的样式,使其看起来像一个链接。

<form id="foo" method="post" action="servletURL">
    <input type="hidden" name="yourParamName" value="yourParamValue" />
    <input type="submit" value="link" class="link" />
</form>

input[type=submit].link {
    margin: 0;
    border: 0;
    background: transparent;
    color: blue;
    text-decoration: underline;
    cursor: pointer;
    overflow: visible;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多