为什么我的cookie没有设置Node.JS和cookie-parser?

时间:2016-06-28 10:32:47

标签: node.js cookies

所以我最近一直在使用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
    });
});    
});

1 个答案:

答案 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) {