0
4

5 回答 5

2

使用<a>标签发出 POST 请求的唯一方法是让它通过 javascript 提交表单:

<form method="post" id="hidden_form" name="hidden_form" action="script.php">
    <input type="hidden" name="foldername" value="<?php echo $b ?>" />
</form>

...

<a href="#" onclick="document.getElementById('hidden_form').submit(); return false">post me</a>

您还可以从 javascript 更新隐藏元素的值,因此当您单击特定链接时,它会将其中一个值设置为特定于该链接的值。

于 2012-06-22T18:58:37.347 回答
2

GET 有什么问题?

<a href="somefile.php?variable=value&anothervar=awesome">Click me</a>
于 2012-06-22T19:00:25.933 回答
1

唯一的方法是通过 JS 来实现。您可以发送指定 POST 的 AJAX 请求,也可以创建隐藏表单并提交。这是一个例子

document.getElementById('my-link').onclick = function(){
    // Code to submit the hidden form or to send an AJAX request specifying POST
    return false; // to prevent the default behavior
}
于 2012-06-22T18:59:10.320 回答
0

我知道用香草锚标签无法做到这一点。您可以在 javascript 中建立点击事件处理程序来提交 XHR 请求。但是,我过去通过将多个表单标签与单个提交实体(<input type='submit'<button type='submit'等)一起使用来实现这一点。

您的表格如下所示:

<form action="{$_SERVER['PHP_SELF']}" method="post">
    <input type="hidden" name="foldername" value="YOURVALUEHERE">
    <input type="submit">
</form>
于 2012-06-22T18:59:56.987 回答
0

就像 draw010 说的,如果你绝对需要 POST 方法。否则,大多数单页网站使用 index.php?a=1&b=2 之类的东西,您可以使用 $_GET["a"] 获得 "a" 和 "b" ...

于 2012-06-22T19:00:10.193 回答