HTTP 规范规定 POST 请求可以包含任意数据体。
An HTML form
元素可以 POST 到 URL 并且可能包含input
元素,但那些input
元素变成查询字符串。
我怎样才能得到一个form
还可以在按下提交按钮时发送的 HTTP POST 请求正文中发送数据吗?
HTTP 规范规定 POST 请求可以包含任意数据体。
这是正确的。然而,该数据的格式又存在多种规范。对于 HTML 表单,最常用的是application/x-www-form-urlencoded
, 其次是multipart/form-data
。您可以通过设置它enctype
HTML 的属性<form>
元素。另见章节17.13.4 表单内容类型 http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4HTML 规范。
HTML 表单元素可以 POST 到 URL,并且可能包含输入元素,但这些输入元素会转换为查询字符串。
确实是这样application/x-www-form-urlencoded
作品。请注意,该查询字符串实际上代表整个 HTTP 请求正文!所以请求正文绝对不像你想象的那样是空的。
如何获得一个表单,以便在按下提交按钮时发送 HTTP POST 请求正文中的数据?
因此它实际上已经这样做了。如果您打算发送表单本身的 HTML DOM 树表示形式的副本(如前面的语句中所暗示的那样),那么您可以通过 JavaScript 的一些帮助来实现这一点,如下所示:
<form onsubmit="this.source.value=this.outerHTML">
...
<input type="hidden" name="source" />
<input type="submit" />
</form>
然后,表单的整个 HTML DOM 树表示形式为字符串格式,可用作带有名称的请求参数source
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)