2017-10-23 5 views
0

Ich habe ein Problem beim Zugriff auf Variablen, die innerhalb von req.fields von Express-Formidable geparst werden. Wenn ich eine console.log() von req.fields bekomme ich folgendes:Zugriff auf req.fields-Variablen bei Verwendung von Express-Formidable

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

Allerdings kann ich nicht den Benutzernamen oder Passwort-Feld zugreifen speziell. Ich habe versucht, die folgenden:

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

Jede Hilfe ist willkommen Dank!

Antwort

0

Die Tasten sind umständlich mit den eckigen Klammern ([ und ]), aber man kann immer noch die Werte zugreifen, da sie nur String ‚s am Ende des Tages sind.

Sie können req.fields.keyName nicht verwenden, aber Sie können die eckige Klammernnotation verwenden, d. H. req.fields[keyName].

zwei Methoden:

Methode A - Wir verwenden Schlüssel bekannten Namen

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

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

Methode B - die Schlüssel extrahieren und sie

const listOfKeys = Object.keys(req.fields) 

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

Verfahren B ist ein etwas schwieriger, um jeden Wert zu unterscheiden, aber zumindest können Sie sie extrahieren.

Viel Glück!

Verwandte Themen