无法根据请求获取cookie

时间:2017-08-22 08:29:04

标签: javascript node.js express cookies

我正在制作一个带有cookie的快速JS服务器。我从未使用过cookie,所以这是我的第一次:)

当用户登录时,我向他发送cookie:

Select * from TestDb T
where T.LevelId IN (CASE T.Data WHEN 7 THEN (Select Data from dbo.Split('5,4',',')) ELSE 0 END)

当我使用我的reqest / getCookie查看我拥有的cookie时:

  

{令牌:'exampletoken',     伪:'测试',     电子邮件:'test@test.test'}

我看到cookie的代码:

res.cookie('pseudo', list[i].pseudo, {
                  maxAge: 1000 * 60 * 60 * 24 * 30 * 12 * 3000,
                  httpOnly: true
              });
res.cookie('email', list[i].email, {
                  maxAge: 1000 * 60 * 60 * 24 * 30 * 12 * 3000,
                  httpOnly: true
              });

但是当我用它作为索引页面时,我没有输出你知道为什么吗? :'(

这是我的索引代码:

var about = function (req, res) {
var cookies = require('cookies');
   console.log(req.cookies);
}
module.exports = about;

在我的服务器文件中:

var index = function (req, res) {
var cookieParser = require('cookie-parser');
var fs = require('fs');
require('remedial');

marqueur = {};
marqueur.pseudo = "login";
marqueur.pseudo = req.cookies.pseudo;

console.log(req.cookies);
console.log(req.cookies.pseudo);

page = fs.readFileSync("./temp/index.html");
page = page.supplant(marqueur);
res.writeHead(200, {'Content-type':'text/html'});
res.write(page);
res.end();
}

module.exports = index;

感谢!!!!

1 个答案:

答案 0 :(得分:1)

那是因为你没有告诉表达如何解析cookie。 cookie-parser是一个快速中间件,这意味着在尝试访问cookie之前需要配置,例如。

const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();
...
app.use(cookieParser());
// now add your cookie routes