2016-04-03 10 views
0

Ich benutze Node.js, um eine Fehlerprüfung für die Anfrage von der Benutzeroberfläche zu machen. Die Benutzeroberfläche verfügt über drei Eingabefelder: Größe, Farbe und Stil. Ein Benutzer muss Farbe und Größe auswählen, muss aber keinen Stil auswählen. Daher sollte die Fehlerprüfung sicherstellen, dass sie Farbe und Größe auswählen.req undefined bei der Fehlerüberprüfung in Node.js

Wenn der Benutzer Farbe und Größe nicht auswählt, fängt es das nicht ab und geht stattdessen zum 'else'. In diesem Fall druckt die Konsole "undefiniert" nach Farbe und Größe. Irgendwelche Vorschläge, wie Sie das beheben können?

Beachten Sie, dass, wenn ich

req.query.size == undefined || req.query.color == undefined 

oder

typeof req.query.size == 'undefined' || typeof req.query.color == 'undefined' 

ich einen Fehler in der Konsole sagen: „Fehler:. Undefiniert ist keine gültige uri oder Optionen Objekt“ Ich bemerkte, dass in index.js, die mit dem Knoten Module kamen, gibt den folgenden Code:

function request (uri, options, callback) { 
    if (typeof uri === 'undefined') { 
     throw new Error('undefined is not a valid uri or options object.') 
    } 
    .... 
    return new request.Request(params) 
} 

Soll ich dies ganz einfach herausgenommen?

Antwort

0

Scheint wie das Problem auf dem Client ist. Wenn der Benutzer keine Größe oder Farbe auswählt, sind sie in der Anforderung undefiniert und nicht "N/A". Sie könnten für undefined auch in Ihrer ersten if-Anweisung

+0

danke, meine Frage war nicht klar, ich aktualisierte es. Als ich versuchte, req.query.size == undefined, wie Sie vorgeschlagen, bekomme ich diesen Fehler in der Konsole: "Fehler: nicht definiert ist kein gültiges URI oder Optionen Objekt." –

+0

Versuchen Sie typefreq.query.size == 'undefined' – gabesoft

+0

danke, aber das funktioniert genauso, als ob ich req.query.size === undefined. Ich bekomme die richtige Ausgabe, aber die Konsole hat einen Fehler: "Fehler: undefiniert ist kein gültiges URI- oder Optionsobjekt" –

Verwandte Themen