Avatar ·

在Go的http包中,如何在POST请求中获取query string?

大家好!我最近开始学习Go,在处理HTTP服务器时遇到了一个问题。我需要处理一个POST请求,客户端既在query string(URL)中传递参数,也在请求体(form-data)中传递参数。 以下是我的代码示例: ```go func handlePost(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) return } // 尝试从query string获取参数 name := r.URL.Query().Get("name") age := r.URL.Query().Get("age") // 从请求体获取参数 r.ParseForm() email := r.FormValue("email") log.Printf("Name: %s, Age: %s, Email: %s", name, age, email) } ``` 问题在于,当我发送带有query string的POST请求时(例如 `POST /submit?name=John&age=30`),`name`和`age`返回为空。而请求体中的`email`工作正常。 我尝试阅读文档,但那里没有...