在HTML中,正常的`<a>` link to produce POST request?</a>是可能的

时间:2012-09-03 03:51:12

标签: html http

可以使用HTML锚链接...

<a href="foo?bar=baz">link</a>

...使用查询参数foobar=baz发出GET请求。

是否也可以以这样的方式编写锚链接:它向foo发出POST请求,并在HTTP请求正文中编码了序列bar=baz(就像使用POST方法的表单一样) )?

4 个答案:

答案 0 :(得分:1)

没有

替代方案:您可以使用javascript修改锚标记发出的请求,

使用表单,并通过设置提交按钮的样式来模拟锚点,使其看起来像链接

答案 1 :(得分:0)

在html文件中,锚文件不支持POST值。

您只能通过表单标记获取html文件的发布值。

<form action="test.php" method="post" > <input type="text" name="lname" /><br /> <input type="submit" value="Submit" /> </form>

答案 2 :(得分:0)

您可以使用要提交的值创建隐藏表单;并且您链接可以触发该表单上的submit()操作。这可以通过jquery(或您最喜欢的JavaScript库)轻松完成。

这是未经测试的,但是这样的事情应该这样做:

<form method="POST" id="the_form" action="foo/">
  <input type="hidden" name="bar" value="baz" />
</form>

<a href="#" id="submit_link">Send values</a>

<script type="text/javascript">
  $('#submit_link').click($('#the_form').submit());
</script>

答案 3 :(得分:0)

正如Matt Ball评论的那样,你可以用一个表单来完成这个,而不是JS:

<form method="post" action="YOUR_ACTION">
    <input type="hidden" name="foo" value="bar" />
    <input type="submit" value="link" class="submitLink" />
</form>

然后将提交的样式设置为常规链接:

<style type="text/css">
input.submitLink {
    background: none;
    border: medium none;
    color: blue;
    cursor: pointer;
    margin: 0;
    padding: 0;
    text-decoration: underline;
}
</style>