表单是web前端和后台交互最简单的方式之一。这里来看看golang中的http包是如何获取页面输入的表单的。
1、通过http.Request中的ParseForm方法获取解析表单的内容。
2、在http.Request.Form中获取对应表单的内容。
下面以一个例子来看:
golang代码:
package main
import (
"fmt"
"log"
"net/http"
)
func GetForm(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
for k, v := range r.Form {
fmt.Println("key is: ", k)
fmt.Println("val is: ", v)
}
fmt.Fprintf(w, "hello world")
}
func main() {
http.HandleFunc("/", GetForm)
err := http.ListenAndServe("localhost:9090", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
html页面代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>测试golang http模块获取表单</title>
</head>
<body>
<form action="http://localhost:9090/" method="get">
<p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
</body>
</html>
执行golang代码,然后打开页面,页面如下:
点击submit按钮后,从golang服务端打印出表单内容如下:
key is: fname
val is: [kobe]
key is: lname
val is: [brant]