0

ここに私のコンソールがあります:

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

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

私はparamsタブにいます。これにアクセスするにはどうすればよいですか。たとえば、トークンをターミナル ウィンドウに記録します。

ノード内: 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次のように定義された which を使用できます。

// 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 に答える