在处理程序中访问POST参数。

huangapple go评论83阅读模式
英文:

access post parameters in handler

问题

我可以使用mux来访问GET参数:

import (
	"github.com/gorilla/mux"
)

func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonGet).Methods("GET")
}

func logonGet(w http.ResponseWriter, r *http.Request) {
	params := mux.Vars(r)
	login := params["login"]
}

但是我无法弄清楚如何访问POST参数:

func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonPost).Methods("POST")
}

func logonPost(w http.ResponseWriter, r *http.Request) {
	// 如何从请求中获取POST参数
}
英文:

I can access GET parameters using mux:

import (
	"github.com/gorilla/mux"
)
func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonGet).Methods("GET")
}
func logonGet(w http.ResponseWriter, r *http.Request) {
	params := mux.Vars(r)
	login := params["login"]
}

But cannot figure out how to access POST params

func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonPost).Methods("POST")
}
func logonPost(w http.ResponseWriter, r *http.Request) {
	// how to get POST parameters from request
}

答案1

得分: 32

通过使用(*http.Request).FormValue方法。

func logonPost(w http.ResponseWriter, r *http.Request) {
    login := r.FormValue("login")
    // ...
}
英文:

By using (*http.Request).FormValue method.

func logonPost(w http.ResponseWriter, r *http.Request) {
    login := r.FormValue("login")
    // ...
}

huangapple
  • 本文由 发表于 2015年1月28日 20:23:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/28192178.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定