Expressjs-将表单数组/括号字段解析为实际数组
Expressjs - parsing form array/bracket fields to real arrays
我想找到一些现有的中间件或一些方便的代码,将带有方括号的表单字段(即"contact[21][name]'")转换为ExpressJS 3的真实数组。
大致如下:
for(key in req.body){
if(key.isArrayField()) {
//add new array field to req.body and delete old string version from req.body
...
我想解析无限深度的括号。我仍在学习JS/Node,所以希望能找到一些方向。
感谢
你能澄清一下你试图用它实现什么吗?
根据您最初从web表单获取输入的方式,您可以使用node.js 中内置的JSON.parse()(此处为docs)轻松地将JSON语法解析为实际对象(包括数组)
使用该方法,您可以拥有无限级别的嵌套值(散列/对象和数组),但您需要一些客户端脚本将值放在首位(例如jQuery)。
如果你举一个更全面的例子,包括提交表格的背景,我可能会给出更好的指导。。。
根据我的经验,你可以简单地做这样的事情。。。
翡翠
input(type="text" name="foo[]" value="foo1")
input(type="text" name="foo[]" value="foo2")
JS
app.post('/test', function(req,res){
console.log(req.body)// { foo: [ 'foo1', 'foo2' ] }
console.log(req.body.foo)//["foo1","foo2"]
console.log(req.body.foo[0])//foo1
console.log(req.body.foo[1])//foo2
});
我不知道这是否有道理,但这就是你对待他们的方式。。。至少在express 3.0+
我使用https://github.com/marioizquierdo/jquery.serializeJSON-问题是,如果我只是提交一个POST表单来表达它,它不会将括号作为数组处理,因此必须手动对其进行正则表达式。通过使用插件将表单解析为JSON,我可以通过ajax提交它。
相关文章:
- 如何在 for 循环中访问 json 数组字段的名称
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 访问嵌套的 json 数组字段
- PHP 从“选择 - 数组”字段中填充文本框
- 在 Rally SDK 2 中,如何更新数组字段,例如在变更集的工件上
- 遍历 html 模板中的数组字段
- 如何通过按数组字段选择来检索MongoDB文档
- Jquery 添加未传递给 php 的输入数组字段
- 如何在JSON数组字段的基础上从主干集合中提取模型
- 引用到另一个类的数组字段数组字段没有't刷新
- PHP中的HTML数组字段解析
- mongoose.js:我如何从引用的子数组中删除一个属性,同时使用填充和使用其中一个子数组字段作为过滤器
- js serialize()可以处理数组字段名吗?
- 在数组字段上展平嵌套的对象数组
- 如何在mongodb的子文档模式结构中更新数组字段
- 数组字段的弹性搜索日期范围过滤器
- 当数组字段为空时,替换值不能正常工作
- 如何从dc.js / crossfilter / d3中的数组字段中选择元素,并将每个元素用作图表的单独数据点
- 当我从模型中的数组字段中添加或删除对象时,Ember不更新模板
- 从javascript中设置postgres数组字段为null