每个 POST 请求上都有大量重复字段

问题描述 投票:0回答:0

我有一个基本的 html 表单,有 2 个输入,电子邮件和密码。电子邮件输入看起来像这样

<input type="email" placeholder="Email" name="email" required />

密码输入看起来像这样

<input type="password" placeholder="Email" name="password" required />

在后端,我记录使用 formidable 解析表单后提交的字段

form.parse(req, async (err, fields, files: any) => {
    if (err) {
      console.log(err);

      return res.status(500).json({
        msg: "There was an error while processing upload"
      });
    }

    console.log(fields);

   return res.json({msg: "done"})
  });

这工作得很好,但是发生了一些奇怪的事情,我不太清楚为什么。对于该后端接收的每个请求,字段将在每个请求上重复。例如,如果我提交了一个表单,电子邮件值为 [email protected],密码为 123,后端的字段日志将如下所示

{
  email: [
    '[email protected]'
  ],
  password: [
    '123'
  ]
}

这很好,但是如果后端有另一个发布请求,它会重复字段,因此例如这次如果电子邮件是 [email protected] 并且密码是 abc 后端字段将如下所示

{
  email: [
    '[email protected]',
    '[email protected]'
  ],
  password: [
    'abc',
    'abc'
  ]
}

它本质上会为每个后续的发布请求创建表单值的副本,因此,如果这是第 50 个表单提交,则字段日志将包含 50 个电子邮件和密码的数组,所有这些都完全相同。为什么会出现这种情况?

node.js forms post backend formidable
© www.soinside.com 2019 - 2024. All rights reserved.