go语言实现处理表单输入
login.html
代码如下:
<html> <head><title></title></head> <body> <form action="http://localhost:9090/login" method="post"> 用户名:<input type="text" name="username"> 密 码:<input type="text" name="password"> <input type="submit" value="登录"> </form> </body> </html>
main.go
代码如下:
package main import ( "fmt" "html/template" "log" "net/http" "strings" ) func sayHelloName(w http.ResponseWriter, r *http.Request) { // 解析url传递的参数 r.ParseForm() //在服务端打印信息 fmt.Println(r.Form) fmt.Println("path", r.URL.Path) fmt.Println("Scheme", r.URL.Scheme) fmt.Println(r.Form["url_long"]) for k, v := range r.Form { fmt.Println("key:", k) // join() 方法用于把数组中的所有元素放入一个字符串。 // 元素是通过指定的分隔符进行分隔的 fmt.Println("val:", strings.Join(v, "")) } // 输出到客户端 fmt.Fprintf(w, "hello astaxie!") } func login(w http.ResponseWriter, r *http.Request) { fmt.Println("method:", r.Method) if r.Method == "GET" { t, _ := template.ParseFiles("login.html") // 执行解析模板 // func (t *Template) Execute(wr io.Writer, data interface{}) error { t.Execute(w, nil) } else { r.ParseForm() fmt.Println("username:", r.Form["username"]) fmt.Println("password:", r.Form["password"]) } } func main() { //设置访问路由 http.HandleFunc("/", sayHelloName) http.HandleFunc("/login", login) //设置监听端口 err := http.ListenAndServe(":9090", nil) if err != nil { log.Fatal("ListenAndserve:", err) } }
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
小科的奋斗 2020-11-16
wfs 2020-10-29
哈嘿Blog 2020-10-26
bearhoopIT之道 2020-11-11
文山羊 2020-11-07
jaminliu0 2020-10-25
railssky 2020-10-25
小科的奋斗 2020-10-24
HELLOBOY 2020-10-23
牧 2020-10-22
狼窝 2020-10-22
ciqingloveless 2020-10-15
专注前端开发 2020-10-12
哈嘿Blog 2020-09-08
linmufeng 2020-09-08
qidiantianxia 2020-09-15
哈嘿Blog 2020-08-16