【问题标题】:access post parameters in handler在处理程序中访问 post 参数
【发布时间】:2015-03-27 08:21:56
【问题描述】:

我可以使用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) {
    // how to get POST parameters from request
}

【问题讨论】:

    标签: go mux


    【解决方案1】:

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

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

    【讨论】:

    • 这是指 JSON 正文还是正在检索的 login 字段到底在哪里?我正在尝试这种方法,但FormValue 总是只返回一个空字符串。
    • @nburk 不,这是关于一个普通的 HTML 表单。对于 JSON,您需要从正文中解码结构。
    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2012-04-18
    • 2012-11-26
    相关资源
    最近更新 更多