所以我最近一直在使用Node.JS来处理这个项目,我正在尝试设置一个基于作为get变量传递的id的cookie - 代码昨天工作但是今天我可以控制日志查询。很好,但我的饼干是未定义的,我无法弄清楚为什么 - 任何人之前处理过这样的事情并且可以解决一些问题?
app.get('/home', function(req, res) {
console.log(req.query.id);
if (res.query != undefined && res.query.id != undefined) {
res.cookie('user_id', req.query.id);
res.send(req.cookies.user_id);
};
console.log(req.cookies.user_id);
var user_id = req.cookies.user_id;
console.log(user_id);
var project = [];
retrieve_projects = connection.query('SELECT * FROM projects, project_users WHERE project_users.user_id = '+user_id+' AND project_users.project_id = projects.id' , user_id, function (err, result){
//console.log(result);
//throw err;
for (var i = 0; i <= result.length; i++) {
if (result[i] != undefined) {
//console.log(result[i]);
var tempProject ={
project_id: result[i].id,
project_title: result[i].title,
description: result[i].description,
start_date: result[i].start_date,
end_date: result[i].end_date,
status: result[i].status,
project_colour: result[i].project_colour
}
project.push(tempProject);
}
}
//console.log(project);
res.render('home',
{
title: 'Utasko | Home',
project_data:project
});
});
});
答案 0 :(得分:0)
请检查代码的第3行,if语句检查res.query
两次而不是req.query
。由于res.query不存在,我相信if语句块的内容不会执行。
破:
if (res.query != undefined && res.query.id != undefined) {
固定:
if (req.query != undefined && req.query.id != undefined) {