微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以从HTML表单触发HTTP DELETE请求?

我有一个ASP.NET MVC项目,我有一个单一的操作接受GET,POST和DELETE请求。每种类型的请求通过我的控制器上的属性Action方法进行过滤。
[ActionName(Constants.AdministrationGraphDashboardAction),AcceptVerbs(HttpVerbs.Post)]
public ActionResult GraphAdd([ModelBinder(typeof (GraphDescriptorBinder))] GraphDescriptor details);

[ActionName(Constants.AdministrationGraphDashboardAction),AcceptVerbs(HttpVerbs.Delete)]
public ActionResult GraphDelete([ModelBinder(typeof (RdfUriBinder))] RdfUri graphUri)

我的GraphAdd方法工作得很好。我想知道的是我如何创建一个HTML< form />或< a /> (链接),这将导致浏览器执行HTTP删除请求并触发我的GraphDelete方法

如果有办法做到这一点,有人可以发布一些示例HTML,如果可用,MVC HtmlHelper方法我应该使用?

解决方法

我不相信这是可能的。 HTML4中的表单元素的method属性XHTML 1.0将只接受GET或POST。此外,大多数网络服务器的标准配置将拒绝DELETE和PUT请求。假设您已将Web服务器配置为允许像PUT / DELETE(例如WebDav)这样的方法,则可以创建自己的HTTP请求:
DELETE /resource.html HTTP/1.1
Host: domain.com

并妥善处理。然而,没有办法通过当前的HTML表单来做到这一点。为了利益而言,HTML5中的DELETE支持some discussion

原文地址:https://www.jb51.cc/html/232832.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐