From 15c4418e6d9a3f88f3ad7c278918ad31f7499b0b Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Tue, 11 Sep 2012 21:24:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E9=94=99?= =?UTF-8?q?=E5=88=AB=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4.1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/4.1.md b/4.1.md index 5a0efcd6..1f81c6f5 100644 --- a/4.1.md +++ b/4.1.md @@ -1,6 +1,6 @@ #4.1处理表单的输入 -我们先来看一个表单递交的例子,我们有如下的表单内容,命名成文件login.gtpl +我们先来看一个表单递交的例子,我们有如下的表单内容,命名成文件login.gtpl(放入当前新建项目的目录里面) @@ -73,7 +73,7 @@ login函数中我们根据`r.Method`来判断是显示登录界面还是处理 ![](images/4.1.login.png?raw=true) -我们输入用户名和密码之后发现在服务器端是不会打印出来任何东西的,为什么呢?默认情况下,Handler里面是不会自动解析form的,必须显示的调用`r.ParseForm()`后,你才能对这个参数进行操作。我们修改一下代码,在`fmt.Println("username:", r.Form["username"])`之前加一行`r.ParseForm()`,重新编译,再次测试输入递交,现在是不是在服务器端有输出你的输入的用户名和密码了。 +我们输入用户名和密码之后发现在服务器端是不会打印出来任何东西的,为什么呢?默认情况下,Handler里面是不会自动解析form的,必须显式的调用`r.ParseForm()`后,你才能对这个参数进行操作。我们修改一下代码,在`fmt.Println("username:", r.Form["username"])`之前加一行`r.ParseForm()`,重新编译,再次测试输入递交,现在是不是在服务器端有输出你的输入的用户名和密码了。 `r.Form`里面包含了所有请求的URL中query-string、POST的数据、PUT的数据,所有当你在URL的query-string字段和POST冲突时,会保存成一个slice,里面存储了多个值,Go官方文档中说在接下来的版本里面将会把POST、GET这些数据分离开来。