【发布时间】:2014-02-27 09:21:12
【问题描述】:
我需要使用 node.js 和 Request 以编程方式将多个值提交到 POST(在本例中为美国各州)。
例如,HTML 表单可能是
<select name="stateprov[]" id="stateprov" multiple="multiple" >
后跟 50 个选项...,每个州一个
提交的表单数据看起来像
stateprov%5B%5D=CA&stateprov%5B%5D=WI
如何使用请求来做到这一点?鉴于我有一系列状态 ['CA','WI'},我已经尝试过
form['stateprov[]'] = states
fails
it generates stateprov%5B%5D[0]=WI&stateprov%5B%5D[1]=CA as the output
form['stateprov[]'] = states.join(',') 也不行
顺便说一句,Node 人,我真的很想喜欢这个项目,有很多很酷的东西,但你的文档不太好。
后续:我认为问题可能是 Request (https://npmjs.org/package/request) 使用 qs (https://npmjs.org/package/qs) 对表单数据进行编码,并添加了无关的 [0] 和 [1]。 Node 内置的 queryString (http://nodejs.org/api/querystring.html#querystring_querystring_stringify_obj_sep_eq) 可以进行我想要的编码。
跟进#2:与在支持 Request 方面做得很好的 Mikeal Rogers 聊天,他基本上说我不能在 Request 中这样做。由于我没有利用 Request 的许多很酷的特性,我将看看更基本的 http。
【问题讨论】:
-
您是仅使用 HTTP 还是使用 express 之类的模块?
标签: javascript forms node.js post request