如何解决从<A>标记POST
| 是否可以仅通过“ 0”标签进行POST?我知道锚标记通常仅用于GET,并且我知道我可以使用javascript来做到这一点(例如在JavaScript表单请求之类的表单请求中),但对我来说似乎有点混乱。有没有办法用纯HTML做到这一点?解决方法
仅使用HTML不能将
a
元素ѭ1。
从该DTD片段(HTML 4.01规范)可以看出:
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
<!ATTLIST A
%attrs; -- %coreattrs,%i18n,%events --
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #IMPLIED -- advisory content type --
name CDATA #IMPLIED -- named link end --
href %URI; #IMPLIED -- URI for linked resource --
hreflang %LanguageCode; #IMPLIED -- language code --
rel %LinkTypes; #IMPLIED -- forward link types --
rev %LinkTypes; #IMPLIED -- reverse link types --
accesskey %Character; #IMPLIED -- accessibility key character --
shape %Shape; rect -- for use with client-side image maps --
coords %Coords; #IMPLIED -- for use with client-side image maps --
tabindex NUMBER #IMPLIED -- position in tabbing order --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
>
没有属性可以控制将“ 1”还是“ 5”与“ 2”元素一起使用。
如果要滥用语义,则必须编写脚本。
, 不是,不是但是,您可以执行以下操作:
<form action=\"theUrl\" method=\"POST\">
<input type=\"hidden\" name=\"param1\" value=\"val\" />
<input type=\"hidden\" name=\"param2\" value=\"val2\" />
<a href=\"#\" onclick=\"this.parentNode.submit()\">Go to that link!</a>
</form>
不过,您应该找到一种更好的方法。这个不会优雅地降级。
, 您可以使用CSS使<input type=\"submit\">
看起来像超链接。
, 如果它为某人服务:
<a href=\"/your-route\"
onclick=\"event.preventDefault();
document.getElementById(\'magic-form\').submit();\">
Magic Action
</a>
<form id=\"magic-form\" action=\"/your-route\"
method=\"POST\" style=\"display: none;\">
{{ csrf_field() }} <!-- from your framework -->
<input type=\"hidden\" name=\"field1\" value=\"value1\" />
<!-- other fields -->
</form>
, 简单的回答:不。您需要使用javascript来执行此类操作;因为执行POST时,您正在做的是在HTTP请求中发送数据。使用get可以将其作为字符串的一部分发送(因此可以通过href
值进行发送)。
, 基本上,您不能将锚标记用于POST请求。但是,有一个简单的技巧可以实现此目的。
<form id=\"myform\" method=\"post\" action=\"target.html\"></form>
<a onclick=\"document.getElementById(\'myform\').submit();\">Submit to action</a>
我已经对此进行了测试,并且已经在我们的生产代码中使用了它。
, 没有JavaScript,显然没有()。
, 没有脚本,就没有办法做到这一点。尽管您可以使用CSS设置标准的Submit按钮的样式,使其外观和行为更像是标记。
, 我考虑的2种方法是使用JavaScript(如您所说)或通过服务器描述。
您基本上会将GET请求(带有A)发送到某个服务器文件,该文件会将GET变量更改为POST,然后立即重新提交(重定向位置)。但这会使我认为的引荐来源网址统计数据混乱。
, 您应该添加data-method = \“ post \”
例如:<a href=\"/some-link\" data-method=\"post\">Logout</a>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。