使用 Express-Formidable 时如何访问 req.fields 变量

How to access req.fields variables when using Express-Formidable

我在访问由 Express-Formidable 在 req.fields 内部解析的变量时遇到问题。 如果我执行 req.fields 的 console.log(),我会得到以下结果:

{ 'registration[username]': '1', 
'registration[password]': '11' }

但是,我无法具体访问用户名或密码字段。 我尝试了以下方法:

console.log(req.fields.registration.username)
console.log(req.fields.registration[username])
console.log(req.fields.registration['username'])
console.log(req.fields.username)

感谢任何帮助,谢谢!

方括号([])中的键很笨拙,但您仍然可以访问值,因为它们只是 String 的末尾天.

您将无法使用 req.fields.keyName 但您可以使用方括号表示法,即 req.fields[keyName].

两种方法:

方法 A - 我们使用已知的密钥名称

// We don't expect this to change
const usernameKey = 'registration[username]'

// Now let's extract the value
const usernameValue = req.fields[usernameKey]

方法 B - 提取密钥并使用它们

const listOfKeys = Object.keys(req.fields)

listOfKeys.forEach(key => {
  console.log(req.fields[key])
})

方法 B 很难区分每个值,但至少您可以提取它们。

祝你好运!