Go语言 获取get、post参数

 

在贴代码之前如果能先理解一下golang http.request的三个属性Form、PostForm、MultipartForm应该能较好的理解代码,下面摘录一下。

Go语言 获取get、post参数_第1张图片

以上简要翻译一下:

Form:存储了post、put和get参数,在使用之前需要调用ParseForm方法。

PostForm:存储了post、put参数,在使用之前需要调用ParseForm方法。

MultipartForm:存储了包含了文件上传的表单的post参数,在使用前需要调用ParseMultipartForm方法。

 

 

 

 

一、获取GET参数

 

query := req.URL.Query()
get_act := query["act"][0]
fmt.Println(get_act)

 

 

二、获取POST参数

 

2.1 获取单个POST字段值

post_act := req.PostFormValue("act")
fmt.Println(post_act)

 

2.2 获取多个POST字段值

如果我们在提交的时候,有两个一样input-name怎么办呢?如下的html代码

<form method="POST" action="login?act=in">
<input type="text" name="username" class="text" />
<input type="text" name="username" class="text" />
<input type="submit" name="login_button" value="登录">
</form>

 

这时候就要把post传输的参数当成数组,通过PostFormValue就只能获得第一个input的内容。怎么能两个都获取到呢?

post_act := req.PostForm["username"]
fmt.Println(post_act)

 

你可能感兴趣的:(Go语言 获取get、post参数)