HTTP规范说明POST请求可以包含任意数据体。如何在使用HTML表单时在HTTP请求正文中发送数据?
HTML form
元素可以POST到一个URL并可能包含input
元素,但这些input
元素会变成查询字符串。
我怎样才能得到一个form
也发送HTTP POST请求的主体中的数据,当它的提交按钮被按下时,它发送?
HTTP规范说明POST请求可以包含任意数据体。如何在使用HTML表单时在HTTP请求正文中发送数据?
HTML form
元素可以POST到一个URL并可能包含input
元素,但这些input
元素会变成查询字符串。
我怎样才能得到一个form
也发送HTTP POST请求的主体中的数据,当它的提交按钮被按下时,它发送?
使用javascript在按下按钮时发送ajax请求并取消表单提交。表单提交将始终是名称/值对。 XForms可以发送自定义的数据,但如果这是供公众使用的话,那么在使用大多数浏览器支持XForms之前需要几年时间,如果有的话。
HTTP规范说明POST请求可以包含任意数据体。
这是正确的。反过来,这些数据的格式有几种规格。在HTML格式的情况下,最常用的是application/x-www-form-urlencoded
,其次是multipart/form-data
。您可以通过HTML <form>
元素的enctype
属性进行设置。另请参阅HTML规范的17.13.4 Form Content Types一章。
一个HTML表格元素可以张贴到一个URL,并且可以包含输入元件,但这些输入元件得到变成了查询字符串。
这的确是application/x-www-form-urlencoded
的工作原理。请注意,这个查询字符串实际上代表了整个HTTP请求体!所以请求主体绝对不是空的,因为你似乎认为。
我怎样才能得到一个形式沿数据,它在其提交按钮发送HTTP POST请求的身体被压也发?
因此实际上已经这样做了。如果您intented发送表单本身的HTML DOM树表示,在之前的语句有点暗示的副本,那么你就可以做到这一点的JavaScript的一点帮助如下:
<form onsubmit="this.source.value=this.outerHTML">
...
<input type="hidden" name="source" />
<input type="submit" />
</form>
整个HTML表单的DOM树表示形式为字符串格式,可用作请求参数,名称为source
。
如果我使用AJAX进行POST,那么浏览器将不会自动处理HTTP响应,而且我希望它能够。换句话说,我正在寻找一个不依赖于JavaScript的问题的答案,而仅仅是HTML。 – 2010-06-04 02:38:45