1

请看一下我的两个文件 main.go 和 index.html。我从 Goji 网络微框架开始。在Goji Web 框架中查找 Snippets。

在我的示例中,我可以在@Localhost8000 看到 HTML 表单网页 index.html,我可以在输入字段中输入例如“test”并按下提交按钮。在终端输出中,我可以看到它是从 127.0.0.1:51580 发送的:"Started GET "/?name=test"

如何在变量中获取对 golang 的 HTML GET 表单请求?我认为它将与 goji.Get 一起使用。我尝试了几种方法,但我让它不运行。如果有人可以给我一个提示或片段,我很高兴。我还在学习golang。

文件 main.go:

package main

import (
     "net/http"
     "github.com/zenazn/goji"
 )


 func main() {
     staticFilesLocation := "public"
     goji.Handle("/", http.FileServer(http.Dir(staticFilesLocation)))
     goji.Serve()
 }

文件 index.html:

<html>
<head>
</head>
<body>
<!-- Simple form which will send a GET request -->
<form action="">
  <label for="GET-name">Name:</label>
  <input id="GET-name" type="text" name="name">
  <input type="submit" value="sendGET">
</form>
</body>
</html>

文件位置:

src/formgoji/main.go
src/formgoji/public/index.html

输出 - 在终端窗口中开始:

$ go run main.go
2014/12/22 14:38:40.984448 Starting Goji on [::]:8000
2014/12/22 14:38:48.789214 [xxxx/yyyy-000001] Started GET "/" from 127.0.0.1:51580
2014/12/22 14:38:48.789332 [xxxx/yyyy-000001] Returning 304 in 74.8µs
2014/12/22 14:39:11.239039 [xxxx/yyyy-000002] Started GET "/?name=test" from   127.0.0.1:51580
2014/12/22 14:39:11.239149 [xxxx/yyyy-000002] Returning 304 in 66.489µs

stackoverflow 上有一个类似的问题: parse-input-from-html-form-in-golang 这个例子我无法运行。我认为这与你的文件所在的位置以及你的 @localhost 是如何定义的有关。这在这个例子中是缺失的。

4

1 回答 1

1

Goji 被宣传为一个简约框架,并且在表单提交方面似乎对您没有太大帮助,因此我认为您需要查看标准 Go。

例如,您可以查看body以下示例中的属性是如何管理的,这些示例取自 Go 的文档:

编辑页面(表示为文本区域)

保存页面(从Requestusing 中检索FormValue()

于 2014-12-22T21:16:50.800 回答