英文:
Parsing Array Post Form Data in Go
问题
所以我有这个表单:
<form method="POST" action="/parse">
<div>
<input name="photo[0]" value="嘿,我是第一张照片!" />
</div>
<div>
<input name="photo[1]" value="这是第二张照片!" />
</div>
<div>
<input name="photo[2]" value="哎呀,我是第三张照片,但我是第二张照片..." />
</div>
<div>
<button type="submit">提交</button>
</div>
</form>
在Go中,似乎可以使用net/http
库通过表单中的字符串键逐个查询表单数据:
r.PostFormValue("photo[0]")
在Go中有没有一种简单的方法可以直接将这个表单解析为切片?
也就是说,能够像这样访问photo的元素:
photos := r.PostFormValue("photo");
log.Println(photos[1]);
或者除了字符串操作之外,还有没有其他方法可以正确访问表单提交数据中的“类似数组”的数据结构?
英文:
So I have this form:
<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>
In Go, it appears, the net/http
library will allow you to query the form data one at a time by string key in the form:
r.PostFormValue("photo[0]")
Is there an easy way to parse this form directly as a slice in Go?
That is, being able to access the elements of photo like this:
photos := r.PostFormValue("photo");
log.Println(photos[1]);
Or any other suggestion on properly accessing 'array like' data structures in form post data in Golang aside from string munging...
答案1
得分: 4
不要在名称中添加数组索引,对所有输入使用相同的名称。http库将解析具有相同名称的字段为一个切片。
英文:
Don’t add array index in name, use same name for all inputs.
The http library will parse field with the same name to a 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>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论