如何将HTML GET表单请求传递给GoLang并存储在一个变量中?

huangapple go评论68阅读模式
英文:

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 (
     &quot;net/http&quot;
     &quot;github.com/zenazn/goji&quot;
 )


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

File index.html:

&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;!-- Simple form which will send a GET request --&gt;
&lt;form action=&quot;&quot;&gt;
  &lt;label for=&quot;GET-name&quot;&gt;Name:&lt;/label&gt;
  &lt;input id=&quot;GET-name&quot; type=&quot;text&quot; name=&quot;name&quot;&gt;
  &lt;input type=&quot;submit&quot; value=&quot;sendGET&quot;&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;

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 &quot;/&quot; from 127.0.0.1:51580
2014/12/22 14:38:48.789332 [xxxx/yyyy-000001] Returning 304 in 74.8&#181;s
2014/12/22 14:39:11.239039 [xxxx/yyyy-000002] Started GET &quot;/?name=test&quot; from   127.0.0.1:51580
2014/12/22 14:39:11.239149 [xxxx/yyyy-000002] Returning 304 in 66.489&#181;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())

huangapple
  • 本文由 发表于 2014年12月22日 23:10:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/27605327.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定