我正在尝试创建一个登录窗口。我的代码很简单。
var employees = {
'1' : {
firstName: '',
lastName: '',
login: 'qwerty',
password: '12345',
},
'2' : {
login: 'asdfg',
password: '12345',
},
};
app.post('/main', function(req, res) {
if (!req.body) return res.sendStatus(400);
console.log(req.body);
for (var key in employees) {
console.log(key['login']);
console.log(key['password']);
if ((key.login == req.body.login) && (key.password == req.body.password)) {
res.render('main');
} else {
app.get('/', function(req,res) {
res.send(createIndexPage());
});
};
};
});
为什么key.login和key.password会返回undefined? 当if语句错误时,为什么else块不会运行?
答案 0 :(得分:1)
看看key
的实际价值是什么:
var employees = {
'1': {
firstName: '',
lastName: '',
login: 'qwerty',
password: '12345',
},
'2': {
login: 'asdfg',
password: '12345',
},
};
for (var key in employees) {
console.log(key);
}
属性名称(作为字符串),而不是属性的值。
console.log(employees[key]['login']);
会为您提供所需内容。