当我通过Web表单执行http POST请求时,URL中指定的参数与服务器端传递的参数之间是否存在任何差异(实际上或理论上)?
我可以使用url参数进行整个POST,并期望与表单输入相同的结果吗?
像:
<form action="/?id=2" method="post">
<input type="text" name="name" value="John"/>
<input type="submit" value="submit"/>
</form>
或者:
<form action="/?id=2&name=John" method="post">
<input type="submit" value="submit"/>
</form>
感谢。
答案 0 :(得分:15)
Gabriel和BrokenGlass提供的参考书真的很酷,但是让我给你2美分。
我想你已经对如何检索服务器端表单发送的数据有所了解。如果你不这样做,那就从那里开始,答案会比你想象的要快。
嗯,在URL或表单属性操作上发送的参数是GET数据参数。它们将被解析并提供。周期。
来自带有方法POST的表单的输入字段作为POST数据发送,并且会被解析并可用。
从您给出的示例中,假设您使用的是PHP,我们可以检索以下内容:
示例1
$_GET['id']
$_POST['name']
示例2
$_GET['id']
$_GET['name']
希望概念清晰。
答案 1 :(得分:1)
你应该阅读this article关于GET和POST之间的区别(GET是你把参数放在URL中,POST是你把参数放在表格中的时候)。
此外,这个问题已经回答here on StackOverflow