一个用于放置链接的a标签

3

我需要通过<a>标签放置一个链接到一个网页。这个网页链接包含一些请求参数,我不想直接通过浏览器发送它们(也就是说,我想使用类似于FORM的POST方法)。

<a href="www.abc.do?a=0&b=1&c=1>abc</a>

我正在jsp页面中使用这个,是否有一种通过javascript或其他方式发布它的方法,而不是通过url传递请求参数?

3个回答

5
您可以使用链接来提交隐藏的表单,如果这是您的问题。
<a href="#" onclick="submitForm('secretData')">Click Me</a>

<form id="secretData" method="post" action="foo.php" style="display:none">
  <input type="hidden" name="foo" value="bar" />
</form>

<script type="text/javascript">
  function submitForm(formID) {
    document.getElementById(formID).submit();
  }
</script>

内联事件处理程序?嘘嘘.. :) +1 很棒的答案 - Doug Neiner
1
@Doug:今晚有点懒散 :) - Sampson

1
使用带有隐藏字段的 form 标签来提交您的数据:
 <a href="#" onclick="document.frm.submit(); return false">GO !!</a>

 <form name="frm" action="www.abc.do" method="post">
   <input type="hidden" value="your-data" name="whatever">
   <input type="hidden" value="your-data" name="whatever">
   <input type="hidden" value="your-data" name="whatever">
 </form>

0

你可以使用 AJAX 来实现。例如,使用 jQuery,你可以使用 post 函数

<a href="#" id="myMagicLink">clickMe</a>

<script type="text/javascript">
$(function(){
  $("#myMagicLink").click(function(){
    $.post("www.abc.do", {"a":0, "b":1, "c":1});
  });
});

仅使用纯JavaScript,不要使用Ajax。 - Harish
4
哦,我并不知道AJAX不是“普通的JavaScript”。除非你指的是没有框架。你可以使用jQuery更加可重用的方案,从<a>标签中获取属性并构造POST请求,而无需使用隐藏表单,同时保留<a>标签以重定向到启用JavaScript的人的错误页面。不过这只是我的两分钱意见。 - Zack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接