0

这是我的控制台:

GET http://localhost:8080/api/photos.json?token=ABCDEFGHIJKLMNOPQRSTUVWXYZ

200 OK
    0   
jquery.js (line 8526)
|Params|    Headers    Response    JSON
token   ABCDEFGHIJKLMNOPQRSTUVWXYZ

我在参数选项卡中。我如何访问它,例如将令牌记录到我的终端窗口。

在节点中:request.param('token')

4

2 回答 2

2

只需使用func (*Request) FormValue

FormValue返回查询的命名组件的第一个值。POST 和 PUT 正文参数优先于 URL 查询字符串值。如有必要,FormValue 会调用 ParseMultipartForm 和 ParseForm。要访问同一键的多个值,请使用 ParseForm。

简单服务器

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", home)
    http.ListenAndServe(":4000", nil)

}

func home(w http.ResponseWriter , r *http.Request) {
    fmt.Fprint(w, "<html><body><h1>Hello ", r.FormValue("token") , "</h1></body></html>")
}

访问localhost:4000/photos.json?token=ABCDEFGHIJKLMNOPQRSTUVWXYZ你会得到

Hello ABCDEFGHIJKLMNOPQRSTUVWXYZ
于 2013-08-05T12:15:30.180 回答
0

我想你有一个http.Request. 假设它被称为hr.

然后你可以做

hr.ParseForm()

之后你可以使用hr.Form这样定义的:

// Form contains the parsed form data, including both the URL
// field's query parameters and the POST or PUT form data.
// This field is only available after ParseForm is called.
// The HTTP client ignores Form and uses Body instead.
Form url.Values

地图在哪里url.Values

type Values map[string][]string

这是一个使用已解析表单的示例,我只对给定名称的第一个值感兴趣:

func getFormValue(hr *http.Request, name string) string {
    if values := hr.Form[name]; len(values) > 0 {
        return values[0]
    }
    return ""
}
于 2013-08-05T12:06:07.780 回答