所以我有这种形式:
<form method="POST" action="/parse">
<div>
<input name="photo[0]" value="Hey I'm photo zero!" />
</div>
<div>
<input name="photo[1]" value="Photo one here!" />
</div>
<div>
<input name="photo[2]" value="Awh I'm photo 2 but I'm the third photo..." />
</div>
<div>
<button type="submit">submit</button>
</div>
</form>
出现在Go中,
net/http
库允许您通过表单中的字符串键一次查询一次表单数据:r.PostFormValue("photo[0]")
在Go中有没有简单的方法可以直接将这种形式解析为 slice ?
也就是说,能够像这样访问照片的元素:
photos := r.PostFormValue("photo");
log.Println(photos[1]);
或任何其他建议,除了使用字符串munging之外,还可以在Golang的表单发布数据中正确访问``类似数组的''数据结构...
最佳答案
不要在名称中添加数组索引,对所有输入都使用相同的名称。
http库会将具有相同名称的字段解析为 slice 。
<form method="POST" action="/parse">
<div>
<input name="photo" value="Hey I'm photo zero!" />
</div>
<div>
<input name="photo" value="Photo one here!" />
</div>
<div>
<input name="photo" value="Awh I'm photo 2 but I'm the third photo..." />
</div>
<div>
<button type="submit">submit</button>
</div>
</form>