Вот код:Javascript, если не в словаре (Node.js)
exports.index_post = function(req, res) {
var nicks = [];
if (req.body.nick) {
for (var nick in nicks) {
if (nick == req.body.nick) {
res.redirect("/");
} else {
nicks.push(req.body.nick)
req.session.nick = req.body.nick;
res.redirect("/msg");
console.log(nicks);
}
}
} else {
res.redirect("/");
}
};
Что это означало сделать, это проверить, если req.body.nick это один из элементов в словаре зарубки, и если если перенаправляет его обратно в корень. Если он не находится в словаре, он должен добавить его в словарь и установить его как переменную сеанса, а затем перенаправить на/msg. Тем не менее, этот код, похоже, не работает для меня, и вместо этого он заставляет Express зависать. Может ли кто-нибудь сказать мне, что я делаю неправильно? Благодарю.
Массивы не являются словарями. Кроме того, ваша логика полностью нарушена - вы перенаправляете запрос _once для каждого элемента в 'nicks'_, т. Е. Если у вас есть 10 элементов, вы попытаетесь перенаправить запрос 10 раз. – lanzz