2017-10-23 3 views
0

Express-Formidableによってreq.fields内で解析されている変数にアクセスする際に問題が発生しています。 私はreq.fieldsのにconsole.log()を行う場合、私は、次を得る:Express-Formidableを使用するときにreq.fields変数にアクセスする方法

{ '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

キーは大括弧([および])で扱いにくいですが、値の最後にはStringのままでアクセスできます。

req.fields.keyNameを使用することはできませんが、角括弧の表記(req.fields[keyName])を使用できます。

二つの方法:

方法 - 私たちは知ら使用するキー名

// 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は、キーを抽出し、それらを使用しますそれぞれの値を区別するのに難しいですが、少なくともそれらを抽出することができます。

幸運を祈る!

関連する問題