当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (WebServer)。
一种方法是通过 URL,另外一种是在 HTTP Request 的 body 中。
前一种方法,我们使用 HTML Form 中的 method = "get"
,后一种方法我们使用HTML Form 中的 method ="post"
。
例句如下:
<form action = "..." method = "get">
<from action = "..." method = "post">
通过 get 或者 post 方法都可以获得 Form 的数据,两者主要区别在于以下几方面:
Get
Post
我们看看 get 是如何提交 Form 数据的。我们先写一个 HTML 文件,如下:
<html>
<head><title>Blablar.com HTML Form Method Get Example</title></head>
<body>
<form action ="get.php" method ="get">
Name: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>
</body>
</html>
你可以看到在浏览器地址栏里的URL是:
http://localhost:8080/get.php?username=Jacky
注意get.php
后面的字符串 ?username=Jacky
,这是一对name/value 数据,前面加一个问号。
如果你将 form 改成 method = "post"
,你在浏览器地址栏就看不到这对name/value 数据,而只有:
http://localhost:8080/get.php
使用 get 时,第一对 name/value 值前要加一个问号?
,以后每对name/value 值则要用 &
分开。比如一个form中有三个参数,如下:
<form action ="u.php" method ="get">
Name: <input type="text" name="username" />
Age: <input type="text" name="age" />
Gender: <input type="text" name="gender" />
<input type ="submit" value="ok" />
</form>
比如你在Name 项填写Jacky,Age项填写50,Gender项填了male,提交之后的 URL 显示为:
http://localhost:8080/get.php?username=Jacky&age=50&gender=male