golang http服务器,无法获取发布值

use*_*912 13 http go

func login(rw http.ResponseWriter, req *http.Request) {
    req.ParseForm()

    if req.Method == "GET" {
        fmt.Fprintf(rw, "Error Method")
    } else {
        name := strings.TrimSpace(req.FormValue("userid"))
        fmt.Println("userid:", name)
        fmt.Println("pwd:", req.FormValue("pwd"))
        fmt.Fprintf(rw, "welcome back,%s", req.FormValue("userid"))
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用ASIhttprequst发送一个from,就像这样.

[self setRequest:[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://127.0.0.1:8080/login"]]];
[request setPostValue:@"userid" forKey:@"fdfs@jkjlf.cm"];
[request setPostValue:@"pwd" forKey:@"fdsfdsfdkskfjhds"];
[request setRequestMethod:@"POST"];
Run Code Online (Sandbox Code Playgroud)

我用req.FormValue("userid")得到一个空值

发生了什么事?以及如何解决它?

rof*_*rol 10

这个怎么样?

req.ParseForm()
req.Form.Get(key)
Run Code Online (Sandbox Code Playgroud)

  • 是的,但你必须在`req.ParseForm()`之前. (2认同)

Neo*_*Neo 4

req.PostFormValue你已经用而不是测试它了吗req.FormValue