当前位置:  开发笔记 > 编程语言 > 正文

在HTML表单中使用PUT方法

如何解决《在HTML表单中使用PUT方法》经验,为你挑选了5个好方法。

我可以在HTML表单中使用PUT方法将数据从表单发送到服务器吗?



1> phihag..:

根据HTML标准,你不能.method属性的唯一有效值是getpost,对应于GET和POST HTTP方法.

是无效的HTML,将被视为,即发送GET请求.

相反,许多框架只是使用POST参数来隧道传输HTTP方法:


  
...

当然,这需要服务器端解包.


@hakre HTML5已经是事实上的标准,并且可能会随着时间的推移而发展.W3C称之为"草案"的文件是至少3年开发的文档,浏览器供应商的输入超过99%,并且已经实现(至少在涉及到这个和大多数非深奥的部分时)所有这些永远.但是,对于nitpickers,[这里是相同的定义](http://www.w3.org/TR/html401/interact/forms.html#adef-method)在HTML 4.01(W3C术语中的技术请求)中.
你一直在联系草案,而不是最终标准.注意,稳定的HTML版本也没有提供它.
高级api框架支持这一点,包括Slim.

2> dqhendricks..:

XHTML 1.x表单仅支持GET和POST.GET和POST是"method"属性唯一允许的值.


XHTML有点过时了.仍然看起来在html5中有两个值是有效的https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-method

3> hakre..:

我可以在html表单中使用"Put"方法将数据从HTML表单发送到服务器吗?

是的,你可以,但请记住它不会导致PUT而是GET请求.如果method标记的属性使用无效值,则浏览器将使用默认值get.

HTML表单(最高为HTML版本4(,5草稿)和XHTML 1)仅支持GET和POST作为HTTP请求方法.解决方法是使用隐藏的表单字段通过POST隧道其他方法,该字段由服务器读取并相应地分派请求.XHTML 2.0次计划支持GET,POST,PUT和DELETE的形式,但它进入XHTML5的HTML5,它不打算支持PUT.[更新到]

您也可以提供表单,但不是提交表单,而是使用带有JavaScript的PUT方法创建和触发XMLHttpRequest.



4> Ciro Santill..:

_method隐藏字段解决方法

Rails使用此方法,可以适应任何框架/项目:

将隐藏_method参数添加到任何非GET或POST的表单:


这可以通过HTML创建帮助器方法(例如Rails _method)在框架中自动完成

将实际的表单方法修复为POST()

_method服务器上的进程,就像发送了该方法而不是实际的POST一样

不可能的原因/历史:https://softwareengineering.stackexchange.com/questions/114156/why-there-are-no-put-and-delete-methods-in-html-forms



5> Tofeeq..:

遗憾的是,现代浏览器不提供对HTTP PUT请求的本机支持.要解决此限制,请确保HTML表单的方法属性为"post",然后将方法覆盖参数添加到HTML表单中,如下所示:


要测试您的请求,您可以使用"Postman"Google Chrome扩展程序

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有