在HTML中,你可以从一个页面在几种方式使用GET请求发送数据到另一个:

http://www.example.com/somepage.php?data=1

...或...

<form action="somepage.php" method="get">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

通过POST请求虽然我只看到数据正在通过表单元素这样发送:

<form action="somepage.php" method="post">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

如果我只有一个参数,我要发送到使用POST另一页,有没有比在形式包装成为一个更简单的方法?

有帮助吗?

解决方案

有只有两种方法从一个浏览器为POST - 形式,或 Ajax的请求。

其他提示

使用HTML只,一种形式是生成一个POST请求的唯一途径。您可以使用服务器端脚本/ JavaScript来产生其他方式POST请求,但没有其他办法,只有纯HTML做。

正如你已经发现,恰好有两种方式传输通过HTTP协议数据:GETPOST。还有一个名为HEAD第三种类型的HTTP消息,但是这真的只是用来绕过资源的元数据,而无需下载它,并没有广泛实施。

显然既GETPOST是通过使用<form>标签的方便。所述GET也是通过名称 - 值对(foo.html?a=1&b=2)形式的手动添加查询URL参数的方便。

POST的美丽和复杂性,但是,是名称 - 值对从浏览器到HTTP请求头这是不一样容易接近内包围的web服务器进行通信。以实现POST而不使用<form>代码的唯一方法是手动改变的HTTP请求报头和在自己添加名称 - 值对。

也请记住,一个HTTP服务器不知道内在的请求(GETPOST)是否从主浏览器窗口或AJAX调用来。无论如何,网络服务器将读取请求,如果它是一个GETPOST请求将解密,查找名称 - 值对作为适当,生成响应。

如果您想了解如何正确地格式化POST请求,你可以去 jmarshall更多细节.COM /易/ HTTP / 或也许 tcpipguide.com/free/t_HTTPRequestMessageFormat.htm 。明确的资源始终是 W3C ,但有时RFC可以非常混乱我们凡人阅读。

在HTML只是它用的形式。

但你可以做到这一点,如果你与你的服务器端播放。这里是一个很好的文章,告诉你如何操作去改变它来发布通过PHP。这需要你的fsockopen玩......这样做会使用你的参数?ID = 1&PARAM = 2 ...并会创建一个服务器端的POST请求。你可以把它通用的,一旦设置它会工作,但它是一个小的工作设置的一切第一。

当然

可以总是做一个GET到包含服务器端(或AJAX),这将创建一个POST请求逻辑页面(例如GET /pageWhichCreatesAPost.py)。很杂乱,当然,但可以有情况下,这样的变通可能也许是有益的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top