Node.js 怎么处理批量表单数组的提交?
发布于 10 年前 作者 feikeq 8695 次浏览 最后一次编辑是 8 年前

在PHP里只要以[]结尾的表单名单像这样 name=“note[]” 服务端就能接上到 $_POST[note][0] $_POST[note][1] 有几个这样的表单内容就有几个数组,但在NodeJS里会变最后一个’note[]'值把前一个覆盖了。。。KEY值不是note而是note[]这样了。。。。 请问在NodeJS里怎么实现?

谢谢!

3 回复

当form 有enctype=“multipart/form-data” 和没有 enctype=“multipart/form-data” 时 同名表单处理的方式不一样。 有 enctype=“multipart/form-data” 时 同名表单会被最后一个value覆盖, 没有 enctype="multipart/form-data"时,同get一样 会返回一个array

#是这样吗? http://cnodejs.org/topic/4f5c62932373009b5c0b027b

PHP应该是自己有特殊处理过。根据Node的实现来看,如果传的是 note=1&note=2, 就能收到 note数组 [1, 2]。

GET请求: server端 console.log(require(‘url’).parse(req.url, true).query);
客户端 curl http://localhost?note=1&note=2 可以看到服务器控制台上输出 { note: [ ‘1’, ‘2’ ] }

POST请求: server端 console.log(require(‘querystring’).parse(the_post_body_here));
客户端 curl -d ‘note=1&note=2’ http://localhost 可以看到服务器控制台上输出 { note: [ ‘1’, ‘2’ ] }

这个应该不是NODE处理的,应该是你所使用的框架,例如EXPRESS处理的,要看他们如何解析GET数据和POST的原始数据。

回到顶部