字段名称未知时的字段值提取

时间:2017-07-31 11:27:04

标签: json node.js forms

我正在使用表单构建器,管理员可以使用该表单构建器创建表单并将其存储为JSON。当客户端访问这些表单时,它们会动态呈现。当客户端在后端提交表单时,我需要获取所有字段的值。

目前我正在尝试按如下方式执行此操作:(节点服务器)

import Helmet from 'react-helmet';

export default (vo) => {
    const helmet = Helmet.rewind();
    return `
        <!DOCTYPE html>
        <html lang="en" ${helmet.htmlAttributes.toString()} >
            <head>
                ${helmet.title.toString()}
                <meta httpEquiv="X-UA-Compatible" content="IE=edge" />
                <meta charSet='utf-8' />
                <meta httpEquiv="Content-Language" content="en" />
                <meta name="viewport" content="width=device-width, initial-scale=1" />
                <meta name="theme-color" content="white" />
                ${helmet.meta.toString()}
                ${helmet.link.toString()}
                <link id="favicon" rel="shortcut icon" href="/favicon.png" sizes="16x16 32x32" type="image/png" />
                <link rel="manifest" href="manifest.json">
                ${vo.cssBundle ? '<link rel="stylesheet" type="text/css" href="' + vo.cssBundle + '">' : ''}
            </head>
            <body ${helmet.bodyAttributes.toString()} >
                <div id="root" class="root"><div>${vo.root}</div></div>
                <script>
                    window.__PRELOADED_STATE__ = ${vo.initialState}
                </script>
                <script async src="${vo.jsBundle}"></script>
            </body>
        </html>
    `;
};

我无法在 req.body 之后指定名称,因为我不知道字段名称,因为表单的动态性质。

控制台打印 [对象] 。当前呈现的表单有一个我需要的日期字段。如果我通过JSON.stringify(),它会打印 {} 。我提取的数据是否空白?这可能是使用数据字段的问题。

修改 它不是因为提交的是日期类型,dosnt使用文本

1 个答案:

答案 0 :(得分:0)

这可能有两个原因:

  1. 您尚未安装/需要bodyParser模块。

  2. 在表单标记中,您使用enctype属性作为enctype="multipart/form-data"。原因是您没有使用任何模块来处理浏览器无法读取的multipart/form-data类型。请改用enctype="application/json"