我正在制作一个带有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;
感谢!!!!
答案 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