2016-06-28 104 views
-1

所以我一直在最近與Node.JS這個項目工作,並試圖設置一個基於一個ID作爲一個get變量傳遞的cookie - 代碼昨天工作,但今天我可以控制檯日誌query.id罰款我的cookie沒有定義,我不知道爲什麼 - 任何人處理過這樣的事情,並可以闡明一些東西?爲什麼我的cookies沒有設置Node.JS和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

請檢查你的代碼的第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) { 
+0

由於加文!!我一直盯着代碼太久 - 無法看到樹木的森林! – Stuart

相關問題