英文:
Where is request.param(...) in Go
问题
这是我的控制台:
GET http://localhost:8080/api/photos.json?token=ABCDEFGHIJKLMNOPQRSTUVWXYZ
200 OK
0
jquery.js (第8526行)
|参数| 头部 响应 JSON
token ABCDEFGHIJKLMNOPQRSTUVWXYZ
我在参数选项卡中。我如何访问它,并将token日志记录到我的终端窗口中。
在Node.js中:request.param('token')
英文:
Here is my console:
GET http://localhost:8080/api/photos.json?token=ABCDEFGHIJKLMNOPQRSTUVWXYZ
200 OK
0
jquery.js (line 8526)
|Params| Headers Response JSON
token ABCDEFGHIJKLMNOPQRSTUVWXYZ
I am in the params tab. How do I access this and, for example log token to my terminal window.
In node: request.param('token')
答案1
得分: 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
英文:
Just use func (*Request) FormValue
>FormValue returns the first value for the named component of the query. POST and PUT body parameters take precedence over URL query string values. FormValue calls ParseMultipartForm and ParseForm if necessary. To access multiple values of the same key use ParseForm.
Simple Server
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>")
}
Visit localhost:4000/photos.json?token=ABCDEFGHIJKLMNOPQRSTUVWXYZ
you would get
Hello ABCDEFGHIJKLMNOPQRSTUVWXYZ
答案2
得分: 0
我假设你有一个 http.Request
对象,假设它被称为 hr
。
然后你可以执行以下操作:
hr.ParseForm()
之后,你可以使用 hr.Form
,它的定义如下:
// Form 包含解析后的表单数据,包括 URL 字段的查询参数和 POST 或 PUT 表单数据。
// 只有在调用 ParseForm 后,该字段才可用。
// HTTP 客户端会忽略 Form 字段,而使用 Body 字段。
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 ""
}
英文:
I suppose you have a http.Request
. Let's suppose it's called hr
.
Then you can do
hr.ParseForm()
and after that you may use hr.Form
which is defined like this :
// 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
where url.Values
is a map :
type Values map[string][]string
Here's an example of use of a parsed form where I'm only interested in the first value for a given name :
func getFormValue(hr *http.Request, name string) string {
if values := hr.Form[name]; len(values) > 0 {
return values[0]
}
return ""
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论