Html HTTP POST请求中的URL参数正常吗?

Html HTTP POST请求中的URL参数正常吗?,html,forms,post,httpwebrequest,get,Html,Forms,Post,Httpwebrequest,Get,我正在处理一些HTML表单,我只想知道在action属性中使用URL参数是否可以,即使method属性是POST <form action="index.php?somefield=someval" method="post"> <input name="anotherfield" value="anothervalue" type="text" /> <input type="submit" /> </form> 这很好,我

我正在处理一些HTML表单,我只想知道在action属性中使用URL参数是否可以,即使method属性是POST

<form action="index.php?somefield=someval" method="post">
    <input name="anotherfield" value="anothervalue" type="text" />
    <input type="submit" />
</form>


这很好,我可以在回发页面中获取所有字段及其值,但我想知道这样做是否违反了一些规则、标准或其他东西?如果可以的话,请展示一些可以证明它是正确的资源,因为我在W3.org中找不到它。

只要你的代码是一致的并且有效,你就应该没事。只有在有理由的情况下才将参数分开,然后将其记录下来,以便向稍后的任何人清楚说明原因


当然,测试它以确保它工作正常。这可能不是标准的,但如果你有什么理由,没有什么可以说你做不到。

它是有效的,但有时会令人困惑。如果您的somefield=someval与表单相关,则最好执行以下操作:

<form action="index.php" method="POST">
    <input name="somefield" value="someval" type="hidden" />
    <input name="anotherfield" value="anothervalue" type="text" />
    <input type="submit" />
</form>

但是,如果您的somefield=someval与表单无关,那么您应该将其保留为GET,这样它就不会成为表单数据的一部分。

您可以使用$\u REQUEST[“name”]从GET或post模式获取值。有关更多详细信息,请参见规范中的说明:

如果与表单处理相关联的服务具有side 影响(例如,修改数据库或订阅 服务),方法应为“POST”

处理其操作URL为HTTP URL且其方法为 “POST”,用户代理使用 操作URI和“application/x-www-form”类型的消息体- urlencoded'格式如上所述。用户代理应该显示 来自HTTP POST交互的响应,就像它将显示 来自上面的HTTP GET的响应

发送
POST
请求时,表单数据实际上是在请求主体中发送的,而不是在头中发送的。因此,请求URL(表单的
操作
)与请求主体不同

在后台发送到服务器的数据如下所示:

POST /path/script.php?somefield=somevar HTTP/1.1
User-Agent: User-Agent-String/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

home=Cosby&favorite+flavor=flies

很抱歉,您错过了主题。那么您认为使用XMLHttpRequest时是一样的吗?我不明白,我将使用
POST
作为方法,而不是。。。那怎么样?还是不可靠吗
要处理一个动作URL为HTTP URL、方法为“GET”的表单
@domanokz-我的错,我误解了你的问题。如果您使用的是
POST
,那根本没有问题。我会更新我的答案。不,我把
方法class='POST'
误包括在内。不过,您提供的链接很有用。谢谢这正是我要找的!!:)谢谢