我在访问由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)
感谢任何帮助!
答案 0 :(得分:0)
使用方括号([
和]
)键很难处理,但您仍然可以访问这些值,因为它们只是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区分每个值有点困难,但至少你能够提取它们。
祝你好运!