我認爲這是因爲Node.js的異步特性。Express.js:Cookie被保存得太晚
我正在更改cookie的值,然後呈現新頁面。然而,在呈現新頁面時,該頁面顯示剛剛被覆蓋的cookie的內容。就好像cookie被保存了一小步。
res.cookie('loginid',req.body.name,{maxAge:60000});
res.render('page1');
在第1頁,我有:
<% if(req.cookies.loginid){ %>
cookie remembered. Hi, <%= req.cookies.loginid %>! <% } %>
實施例:餅乾目前已登錄ID = 「ID1」。我將它設置爲id2,然後渲染page1。然後我被髮送到page1,當然,它顯示id1。如果我通過將id2替換爲id3來重複該過程,則page1的內容將顯示id2,依此類推。
我試着在res.cookie(...)函數上做一個回調,但是裏面沒有任何東西被調用。它看起來像:
res.cookie('loginid',req.body.name,{maxAge:60000}, function(req,res){console.log('test');});
非常詳細的回覆。謝謝! – rch