英文:
Goji - How to get a HTML GET form request to GoLang in a variable?
问题
请查看我的两个文件main.go和index.html。
我正在使用Goji web微框架开始。在Goji web框架中找到代码片段。
在我的示例中,我可以在@Localhost8000上看到HTML表单网页index.html,并且我可以在输入字段中输入“test”并点击提交按钮。
在终端输出中,我可以看到发送了“Started GET“/?name=test”from 127.0.0.1:51580”。
如何将HTML GET表单请求传递给golang中的变量?
我认为可以使用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的定义有关。这在这个示例中缺失了。
英文:
Please take a look at my two files main.go and index.html.
I am starting with the Goji web microframework. Find Snippets at the Goji web framework.
In my example I can see the HTML form webpage index.html at @Localhost8000
and I can type in the input field for example "test" and press the submit button.
In the terminal output I can see that it was send: "Started GET "/?name=test" from 127.0.0.1:51580"
How can I get a HTML GET form request to golang in a variable?
I think it will be going with goji.Get. I tried several ways but I get it not to run.
I am happy if somebody can give me a hint or a snippet. I still learning golang.
File main.go:
package main
import (
"net/http"
"github.com/zenazn/goji"
)
func main() {
staticFilesLocation := "public"
goji.Handle("/", http.FileServer(http.Dir(staticFilesLocation)))
goji.Serve()
}
File 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>
File loacations:
src/formgoji/main.go
src/formgoji/public/index.html
Output - start in terminal window:
$ 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
A similiar question was here at stackoverflow:
parse-input-from-html-form-in-golang
This example I couldn't run.I think this has to do where your files are located and
how is your @localhost defined. This is in this example missing.
答案1
得分: 1
Goji被宣传为一个简约的框架,在处理表单提交方面似乎没有提供太多帮助,所以我认为你需要转向标准的Go语言。
你可以参考以下示例中如何管理body
属性,这些示例摘自Go语言的文档:
编辑页面(以文本区域表示)
保存页面(使用FormValue()
从Request
中获取)
英文:
Goji's advertised as a minimalistic framework and doesn't seem to be helping you much in terms of form submissions, so I think you'll need to look to standard Go.
For an example you might check out how the body
attribute is managed in the following examples, taken from Go's documentation:
Editing Pages (represented as a textarea)
Saving Pages (retrieved from Request
using FormValue()
)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论