【发布时间】:2016-06-08 22:17:49
【问题描述】:
我正在学习如何使用 node.js 和 express 处理 cookie,我遇到了一个相当特殊的问题。我的cookie.js 文件如下所示:
var router = require('express').Router();
router.get('/cookie/', function(req, res) {
res.append('Set-Cookie', 'foo=bar').cookie('hi', 'hello').status(200).json([]);
});
module.exports = router;
问题是服务器没有发送Set-Cookie 标头。但是,如果我将Set-Cookie 修改为Set-Cookiie,则会发送标头(尽管不是作为 cookie)。
在我的server.js 中要求和使用 CookieParser 之后,我还尝试使用res.cookie('hi', 'hello'),并且没有发送任何 cookie 标头。为什么会这样?是否有任何其他包(我有一些其他包)干扰我的标题?
附加信息:我在:443(自签名)的 HTTPS 上以 :80 运行 HTTP,并且 cookie 问题在两个连接中都存在。
【问题讨论】:
-
你是怎么查到的?
-
我正在使用 Postman 检查。
-
你检查过简单的
curl -v http://...吗? -
这是我粗心的错误。 cookie 实际上是被发送的,但是由于 Postman 上没有安装拦截器,所以我看不到它。应该只是坚持卷曲。
标签: javascript node.js express cookies